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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 'native_lib_version_name%': '', | 166 'native_lib_version_name%': '', |
167 'use_chromium_linker%' : 0, | 167 'use_chromium_linker%' : 0, |
168 'load_library_from_zip_file%' : 0, | 168 'load_library_from_zip_file%' : 0, |
169 'use_relocation_packer%' : 0, | 169 'use_relocation_packer%' : 0, |
170 'enable_chromium_linker_tests%': 0, | 170 'enable_chromium_linker_tests%': 0, |
171 'emma_instrument%': '<(emma_instrument)', | 171 'emma_instrument%': '<(emma_instrument)', |
172 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', | 172 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', |
173 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', | 173 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', |
174 'libchromium_android_linker': 'libchromium_android_linker.>(android_product_
extension)', | 174 'libchromium_android_linker': 'libchromium_android_linker.>(android_product_
extension)', |
175 'extra_native_libs': [], | 175 'extra_native_libs': [], |
| 176 'native_lib_placeholder_stamp': '<(apk_package_native_libs_dir)/<(android_ap
p_abi)/native_lib_placeholder.stamp', |
| 177 'native_lib_placeholders': [], |
176 }, | 178 }, |
177 # Pass the jar path to the apk's "fake" jar target. This would be better as | 179 # Pass the jar path to the apk's "fake" jar target. This would be better as |
178 # direct_dependent_settings, but a variable set by a direct_dependent_settings | 180 # direct_dependent_settings, but a variable set by a direct_dependent_settings |
179 # cannot be lifted in a dependent to all_dependent_settings. | 181 # cannot be lifted in a dependent to all_dependent_settings. |
180 'all_dependent_settings': { | 182 'all_dependent_settings': { |
181 'conditions': [ | 183 'conditions': [ |
182 ['proguard_enabled == "true"', { | 184 ['proguard_enabled == "true"', { |
183 'variables': { | 185 'variables': { |
184 'proguard_enabled': 'true', | 186 'proguard_enabled': 'true', |
185 } | 187 } |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 'ordered_libraries_file': '<(additional_ordered_libraries_file)', | 379 'ordered_libraries_file': '<(additional_ordered_libraries_file)', |
378 'stripped_libraries_dir': '<(libraries_source_dir)', | 380 'stripped_libraries_dir': '<(libraries_source_dir)', |
379 'input_paths': [ | 381 'input_paths': [ |
380 '<@(additional_bundled_libs)', | 382 '<@(additional_bundled_libs)', |
381 '<(strip_stamp)', | 383 '<(strip_stamp)', |
382 ], | 384 ], |
383 'stamp': '<(strip_additional_stamp)' | 385 'stamp': '<(strip_additional_stamp)' |
384 }, | 386 }, |
385 'includes': ['../build/android/strip_native_libraries.gypi'], | 387 'includes': ['../build/android/strip_native_libraries.gypi'], |
386 }, | 388 }, |
| 389 { |
| 390 'action_name': 'Create native lib placeholder files for previous relea
ses', |
| 391 'variables': { |
| 392 'placeholders': ['<@(native_lib_placeholders)'], |
| 393 'conditions': [ |
| 394 ['gyp_managed_install == 1', { |
| 395 # This "library" just needs to be put in the .apk. It is not loa
ded |
| 396 # at runtime. |
| 397 'placeholders': ['libfix.crbug.384638.so'], |
| 398 }] |
| 399 ], |
| 400 }, |
| 401 'inputs': [ |
| 402 '<(DEPTH)/build/android/gyp/create_placeholder_files.py', |
| 403 ], |
| 404 'outputs': [ |
| 405 '<(native_lib_placeholder_stamp)', |
| 406 ], |
| 407 'action': [ |
| 408 'python', '<(DEPTH)/build/android/gyp/create_placeholder_files.py', |
| 409 '--dest-lib-dir=<(apk_package_native_libs_dir)/<(android_app_abi)/', |
| 410 '--stamp=<(native_lib_placeholder_stamp)', |
| 411 '<@(placeholders)', |
| 412 ], |
| 413 }, |
387 ], | 414 ], |
388 'conditions': [ | 415 'conditions': [ |
389 ['gyp_managed_install == 1', { | 416 ['gyp_managed_install == 1', { |
390 'variables': { | 417 'variables': { |
391 # This "library" just needs to be put in the .apk. It is not loaded | |
392 # at runtime. | |
393 'placeholder_native_library_path': | |
394 '<(apk_package_native_libs_dir)/<(android_app_abi)/libfix.crbug.38
4638.so', | |
395 'package_input_paths': [ '<(placeholder_native_library_path)' ], | |
396 'libraries_top_dir': '<(intermediate_dir)/lib.stripped', | 418 'libraries_top_dir': '<(intermediate_dir)/lib.stripped', |
397 'libraries_source_dir': '<(libraries_top_dir)/lib/<(android_app_abi)
', | 419 'libraries_source_dir': '<(libraries_top_dir)/lib/<(android_app_abi)
', |
398 'device_library_dir': '<(device_intermediate_dir)/lib.stripped', | 420 'device_library_dir': '<(device_intermediate_dir)/lib.stripped', |
399 'configuration_name': '<(CONFIGURATION_NAME)', | 421 'configuration_name': '<(CONFIGURATION_NAME)', |
400 }, | 422 }, |
401 'dependencies': [ | 423 'dependencies': [ |
402 '<(DEPTH)/build/android/setup.gyp:get_build_device_configurations', | 424 '<(DEPTH)/build/android/setup.gyp:get_build_device_configurations', |
403 ], | 425 ], |
404 'actions': [ | 426 'actions': [ |
405 { | 427 { |
406 'includes': ['../build/android/push_libraries.gypi'], | 428 'includes': ['../build/android/push_libraries.gypi'], |
407 }, | 429 }, |
408 { | 430 { |
409 'action_name': 'create placeholder lib', | |
410 'inputs': [ | |
411 '<(DEPTH)/build/android/gyp/touch.py', | |
412 ], | |
413 'outputs': [ | |
414 '<(placeholder_native_library_path)', | |
415 ], | |
416 'action' : [ | |
417 'python', '<(DEPTH)/build/android/gyp/touch.py', | |
418 '<@(_outputs)', | |
419 ], | |
420 }, | |
421 { | |
422 'action_name': 'create device library symlinks', | 431 'action_name': 'create device library symlinks', |
423 'message': 'Creating links on device for <(_target_name)', | 432 'message': 'Creating links on device for <(_target_name)', |
424 'inputs': [ | 433 'inputs': [ |
425 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 434 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
426 '<(DEPTH)/build/android/gyp/create_device_library_links.py', | 435 '<(DEPTH)/build/android/gyp/create_device_library_links.py', |
427 '<(apk_install_record)', | 436 '<(apk_install_record)', |
428 '<(build_device_config_path)', | 437 '<(build_device_config_path)', |
429 '<(ordered_libraries_file)', | 438 '<(ordered_libraries_file)', |
430 ], | 439 ], |
431 'outputs': [ | 440 'outputs': [ |
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
860 '<(dex_path)', | 869 '<(dex_path)', |
861 '<(codegen_stamp)', | 870 '<(codegen_stamp)', |
862 '<(obfuscate_stamp)', | 871 '<(obfuscate_stamp)', |
863 '<(resource_packaged_apk_path)', | 872 '<(resource_packaged_apk_path)', |
864 '>@(package_input_paths)', | 873 '>@(package_input_paths)', |
865 '>(inputs_list_file)', | 874 '>(inputs_list_file)', |
866 ], | 875 ], |
867 'outputs': [ | 876 'outputs': [ |
868 '<(unsigned_apk_path)', | 877 '<(unsigned_apk_path)', |
869 ], | 878 ], |
| 879 'conditions': [ |
| 880 ['native_lib_target != ""', { |
| 881 'inputs': ['<(native_lib_placeholder_stamp)'], |
| 882 }], |
| 883 ], |
870 'action': [ | 884 'action': [ |
871 'python', '<(DEPTH)/build/android/gyp/ant.py', | 885 'python', '<(DEPTH)/build/android/gyp/ant.py', |
872 '--', | 886 '--', |
873 '-quiet', | 887 '-quiet', |
874 '-DDEX_FILE_PATH=<(intermediate_dir)/classes.dex', | 888 '-DDEX_FILE_PATH=<(intermediate_dir)/classes.dex', |
875 '-DANDROID_SDK_ROOT=<(android_sdk_root)', | 889 '-DANDROID_SDK_ROOT=<(android_sdk_root)', |
876 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', | 890 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', |
877 '-DRESOURCE_PACKAGED_APK_NAME=<(resource_packaged_apk_name)', | 891 '-DRESOURCE_PACKAGED_APK_NAME=<(resource_packaged_apk_name)', |
878 '-DAPK_NAME=<(apk_name)', | 892 '-DAPK_NAME=<(apk_name)', |
879 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', | 893 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', |
880 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', | 894 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', |
881 '-DOUT_DIR=<(intermediate_dir)', | 895 '-DOUT_DIR=<(intermediate_dir)', |
882 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)', | 896 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)', |
883 '-DEMMA_INSTRUMENT=<(emma_instrument)', | 897 '-DEMMA_INSTRUMENT=<(emma_instrument)', |
884 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', | 898 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', |
885 | 899 |
886 '-Dbasedir=.', | 900 '-Dbasedir=.', |
887 '-buildfile', | 901 '-buildfile', |
888 '<(DEPTH)/build/android/ant/apk-package.xml', | 902 '<(DEPTH)/build/android/ant/apk-package.xml', |
889 ] | 903 ] |
890 }, | 904 }, |
891 ], | 905 ], |
892 } | 906 } |
OLD | NEW |