OLD | NEW |
---|---|
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # This file is meant to be included into a target to provide a rule | 5 # This file is meant to be included into a target to provide a rule |
6 # to build Android APKs in a consistent manner. | 6 # to build Android APKs in a consistent manner. |
7 # | 7 # |
8 # To use this, create a gyp target with the following form: | 8 # To use this, create a gyp target with the following form: |
9 # { | 9 # { |
10 # 'target_name': 'my_package_apk', | 10 # 'target_name': 'my_package_apk', |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
95 'jar_excluded_classes': [], | 95 'jar_excluded_classes': [], |
96 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', | 96 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', |
97 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', | 97 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', |
98 'dex_path': '<(intermediate_dir)/classes.dex', | 98 'dex_path': '<(intermediate_dir)/classes.dex', |
99 'android_manifest': '<(java_in_dir)/AndroidManifest.xml', | 99 'android_manifest': '<(java_in_dir)/AndroidManifest.xml', |
100 'push_stamp': '<(intermediate_dir)/push.stamp', | 100 'push_stamp': '<(intermediate_dir)/push.stamp', |
101 'link_stamp': '<(intermediate_dir)/link.stamp', | 101 'link_stamp': '<(intermediate_dir)/link.stamp', |
102 'codegen_input_paths': [], | 102 'codegen_input_paths': [], |
103 'final_apk_path': '<(PRODUCT_DIR)/apks/<(apk_name).apk', | 103 'final_apk_path': '<(PRODUCT_DIR)/apks/<(apk_name).apk', |
104 'apk_install_stamp': '<(intermediate_dir)/apk_install.stamp', | 104 'apk_install_stamp': '<(intermediate_dir)/apk_install.stamp', |
105 'apk_package_native_libs_dir': '<(intermediate_dir)/libs', | |
105 }, | 106 }, |
106 # Pass the jar path to the apk's "fake" jar target. This would be better as | 107 # Pass the jar path to the apk's "fake" jar target. This would be better as |
107 # direct_dependent_settings, but a variable set by a direct_dependent_settings | 108 # direct_dependent_settings, but a variable set by a direct_dependent_settings |
108 # cannot be lifted in a dependent to all_dependent_settings. | 109 # cannot be lifted in a dependent to all_dependent_settings. |
109 'all_dependent_settings': { | 110 'all_dependent_settings': { |
110 'variables': { | 111 'variables': { |
111 'apk_output_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', | 112 'apk_output_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', |
112 }, | 113 }, |
113 }, | 114 }, |
114 'conditions': [ | 115 'conditions': [ |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
211 '--stripped-libraries-dir=<(apk_libraries_dir)', | 212 '--stripped-libraries-dir=<(apk_libraries_dir)', |
212 '--libraries-dir=<(SHARED_LIB_DIR)', | 213 '--libraries-dir=<(SHARED_LIB_DIR)', |
213 '--libraries-file=<(ordered_libraries_file)', | 214 '--libraries-file=<(ordered_libraries_file)', |
214 '--stamp=<(strip_stamp)', | 215 '--stamp=<(strip_stamp)', |
215 ], | 216 ], |
216 }, | 217 }, |
217 ], | 218 ], |
218 'conditions': [ | 219 'conditions': [ |
219 ['gyp_managed_install == 1', { | 220 ['gyp_managed_install == 1', { |
220 'variables': { | 221 'variables': { |
221 'apk_libraries_dir': '<(intermediate_dir)/lib.stripped/', | 222 'apk_libraries_dir': '<(intermediate_dir)/lib.stripped/<(android_app _abi)', |
223 'apk_package_native_libs_dir': '<(intermediate_dir)/libs.managed', | |
222 'device_library_dir': '/data/local/tmp/chromium/lib.stripped/<(_targ et_name)', | 224 'device_library_dir': '/data/local/tmp/chromium/lib.stripped/<(_targ et_name)', |
223 }, | 225 }, |
224 'dependencies': [ | 226 'dependencies': [ |
225 '<(DEPTH)/tools/android/md5sum/md5sum.gyp:md5sum', | 227 '<(DEPTH)/tools/android/md5sum/md5sum.gyp:md5sum', |
226 ], | 228 ], |
227 'actions': [ | 229 'actions': [ |
228 { | 230 { |
229 'action_name': 'push_libraries_<(_target_name)', | 231 'action_name': 'push_libraries_<(_target_name)', |
230 'message': 'Pushing libraries to device for <(_target_name)', | 232 'message': 'Pushing libraries to device for <(_target_name)', |
231 'inputs': [ | 233 'inputs': [ |
(...skipping 26 matching lines...) Expand all Loading... | |
258 ], | 260 ], |
259 'action': [ | 261 'action': [ |
260 'python', '<(DEPTH)/build/android/gyp/create_device_library_link s.py', | 262 'python', '<(DEPTH)/build/android/gyp/create_device_library_link s.py', |
261 '--apk=<(final_apk_path)', | 263 '--apk=<(final_apk_path)', |
262 '--libraries-json=<(ordered_libraries_file)', | 264 '--libraries-json=<(ordered_libraries_file)', |
263 '--target-dir=<(device_library_dir)', | 265 '--target-dir=<(device_library_dir)', |
264 '--stamp=<(link_stamp)', | 266 '--stamp=<(link_stamp)', |
265 ], | 267 ], |
266 }, | 268 }, |
267 ], | 269 ], |
268 }, { | 270 }, { |
Yaron
2013/04/04 20:31:47
Nit: Add # gyp_managed_install != 1
cjhopman
2013/04/05 16:46:20
Done.
| |
269 'variables': { | 271 'variables': { |
270 'apk_libraries_dir': '<(intermediate_dir)/libs/<(android_app_abi)', | 272 'apk_libraries_dir': '<(apk_package_native_libs_dir)/<(android_app_a bi)', |
271 'package_input_paths': [ '<(strip_stamp)' ], | 273 'package_input_paths': [ '<(strip_stamp)' ], |
272 }, | 274 }, |
273 }], | 275 }], |
274 ], | 276 ], |
275 }], # native_libs_paths != [] | 277 }], # native_libs_paths != [] |
276 ['java_strings_grd != ""', { | 278 ['java_strings_grd != ""', { |
277 'variables': { | 279 'variables': { |
278 'res_grit_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)_apk/res_grit ', | 280 'res_grit_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)_apk/res_grit ', |
279 'additional_res_dirs': ['<(res_grit_dir)'], | 281 'additional_res_dirs': ['<(res_grit_dir)'], |
280 # grit_grd_file is used by grit_action.gypi, included below. | 282 # grit_grd_file is used by grit_action.gypi, included below. |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
545 '-DANDROID_SDK_JAR=<(android_sdk_jar)', | 547 '-DANDROID_SDK_JAR=<(android_sdk_jar)', |
546 '-DANDROID_SDK_ROOT=<(android_sdk_root)', | 548 '-DANDROID_SDK_ROOT=<(android_sdk_root)', |
547 '-DANDROID_SDK_VERSION=<(android_sdk_version)', | 549 '-DANDROID_SDK_VERSION=<(android_sdk_version)', |
548 '-DAPKS_DIR=<(PRODUCT_DIR)/apks', | 550 '-DAPKS_DIR=<(PRODUCT_DIR)/apks', |
549 '-DAPK_NAME=<(apk_name)', | 551 '-DAPK_NAME=<(apk_name)', |
550 '-DAPP_MANIFEST_VERSION_CODE=<(app_manifest_version_code)', | 552 '-DAPP_MANIFEST_VERSION_CODE=<(app_manifest_version_code)', |
551 '-DAPP_MANIFEST_VERSION_NAME=<(app_manifest_version_name)', | 553 '-DAPP_MANIFEST_VERSION_NAME=<(app_manifest_version_name)', |
552 '-DASSET_DIR=<(asset_location)', | 554 '-DASSET_DIR=<(asset_location)', |
553 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', | 555 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', |
554 '-DKEYSTORE_PATH=<(DEPTH)/build/android/ant/chromium-debug.keystore', | 556 '-DKEYSTORE_PATH=<(DEPTH)/build/android/ant/chromium-debug.keystore', |
557 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', | |
555 '-DOUT_DIR=<(intermediate_dir)', | 558 '-DOUT_DIR=<(intermediate_dir)', |
556 '-DRESOURCE_DIR=<(resource_dir)', | 559 '-DRESOURCE_DIR=<(resource_dir)', |
557 '-DSOURCE_DIR=<(java_in_dir)/src', | 560 '-DSOURCE_DIR=<(java_in_dir)/src', |
558 | 561 |
559 '-Dbasedir=.', | 562 '-Dbasedir=.', |
560 '-buildfile', | 563 '-buildfile', |
561 '<(DEPTH)/build/android/ant/apk-package.xml', | 564 '<(DEPTH)/build/android/ant/apk-package.xml', |
562 | 565 |
563 # Add list of inputs to the command line, so if inputs change | 566 # Add list of inputs to the command line, so if inputs change |
564 # (e.g. if a Java file is removed), the command will be re-run. | 567 # (e.g. if a Java file is removed), the command will be re-run. |
565 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. | 568 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. |
566 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', | 569 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', |
567 ] | 570 ] |
568 }, | 571 }, |
569 ], | 572 ], |
570 } | 573 } |
OLD | NEW |