- 06 Aug, 2016 1 commit
-
-
Dan Willemsen authored
We've got a case where two different prebuilt APKs need to have the same apk name (but using a different LOCAL_MODULE_PATH). Bug: 30470308 Change-Id: I5551e720d173623daa757c4c0aabc8e1a423ac38
-
- 30 Jun, 2016 1 commit
-
-
Dan Willemsen authored
Since APKs are zip files, embedded APKs in other APKs can be extracted, installed, then optimized. DPI-based filenames can be used if LOCAL_DPI_VARIANTS is set. Bug: 29179775 Change-Id: Iab6388111522114ce9dc07057d59e3a89394cd6f
-
- 22 Jun, 2016 1 commit
-
-
Dan Willemsen authored
Since APKs are zip files, embedded APKs in other APKs can be extracted, installed, then optimized. DPI-based filenames can be used if LOCAL_DPI_VARIANTS is set. Bug: 29179775 Change-Id: Iab6388111522114ce9dc07057d59e3a89394cd6f
-
- 11 Apr, 2016 1 commit
-
-
Dan Willemsen authored
Use 'chmod +x' to make sure that they're executable, even if the source file is not. Bug: 28097475 Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79 (cherry picked from commit 08420cbc)
-
- 16 Mar, 2016 1 commit
-
-
Yohann Roussel authored
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current version when LOCAL_SDK_VERSION is not available. Bug: 27371864 (cherry picked from commit c6383d6e) Change-Id: Ieba0219494f29d2737d2ca234317c3af7e5e72c8
-
- 15 Mar, 2016 1 commit
-
-
Ying Wang authored
To rebuild odex files of Java libraries and apps, we store the jars/apks without stripping the classes.dex inside the platform.zip. We also save the build variables that may affect how we rebuild an odex in pdk_dexpreopt_config.mk in the platform.zip. We store the files and configuration only for libraries/apps that get installed to the system.img (or vendor.img). In PDK fusion build, we auto-generate prebuilt module definitions for the javalib.jar and package.dex.apk carried in the platform.zip, using configuration stored in pdk_dexpreopt_config.mk. With the prebult modules, we override the implicit rule that directly copies the odex from the platform.zip. To rebuild odex of javalib.jar, we added support for prebuilt shared Java library to prebiult_internal.mk. An installable prebuilt Java library is treated as shared Java library, i.e. with classes.dex in the jar instead of a set of .class files. For apks in the platform.zip, we install the stripped version from platform files inside platform.zip, instead of the package.dex.apk, using a new variable LOCAL_REPLACE_PREBUILT_APK_INSTALLED. We can't strip package.dex.apk because we can't re-sign the stripped apk at this point. We generate prebuilt module only if it's not already defined in the source tree. Bug: 27543283 Change-Id: I9e146f8b713d6f57c397fd28d88c9ab700757ca1
-
- 02 Mar, 2016 1 commit
-
-
Ying Wang authored
So that we can disable only one in multilib modules. Bug: 27442756 Change-Id: I4ca379fac997f9165c47cb93d34bf1f483f5a241
-
- 27 Feb, 2016 1 commit
-
-
Adam Lesinski authored
- Restore old ordering of resource files to match AAPT behavior - Change the order in which overlays are processed. Change-Id: I9da88f6b4124e7f89a70eb485b4591d5c4c87d38
-
- 26 Feb, 2016 1 commit
-
-
Ying Wang authored
- Switch to static library's package-res.apk as the link artifact. - For prebuilt AAR file, build package-res.apk using aapt2's "--dir" option. - New LOCAL variables: LOCAL_USE_AAPT2: a module can opt-in with "LOCAL_USE_AAPT2 := true". LOCAL_STATIC_ANDROID_LIBRARIES: static Java libraries with compiled resources. LOCAL_SHARED_ANDROID_LIBRARIES: shared Java libraries with compiled resources. Bug: 25958912 Change-Id: I4be2d1e8137555986338c2583cb39b0c97391751
-
- 23 Feb, 2016 1 commit
-
- 11 Feb, 2016 1 commit
-
-
Alex Klyubin authored
This changes the build system to provide the signapk tool with the minSdkVersion of the APK being signed. signapk in turn will then use SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher (see c2c49ed0). To avoid increasing incremental OTA update package sizes for already released platforms, release build scripts disable the above logic when signing target files ZIPs for pre-N platforms. Bug: 25643280 (cherry picked from commit 2cfd1d10) Change-Id: I38450d07ddc05c705de40313f843beada8db7d98
-
- 10 Feb, 2016 1 commit
-
-
Yohann Roussel authored
Bug: 27113650 (cherry picked from commit d0bb7bdf5a62fd1cd0469e0b5d6b54feaecb3cdd) Change-Id: I218ed2bda032b00bee4c52994a0aadce6d699133
-
- 02 Feb, 2016 1 commit
-
-
Dan Willemsen authored
This was producing a number of unused source warnings for prebuilt files using LOCAL_SRC_FILES_<arch>. Change-Id: I48d1face7baf642f3ef17f957448ccb73788765f
-
- 29 Jan, 2016 2 commits
-
-
Alex Klyubin authored
This reverts commit c2a36afd. Change-Id: I4389bf99aeb213198c1c501ba9462bd4a4540d0a
-
Alex Klyubin authored
This changes the build system to provide the signapk tool with the minSdkVersion of the APK being signed. signapk in turn will then use SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher (see c2c49ed0). To avoid increasing incremental OTA update package sizes for already released platforms, release build scripts disable the above logic when signing target files ZIPs for pre-N platforms. Bug: 25643280 (cherry picked from commit de5bc047) Change-Id: I4b100750e47788ab6ed897a0a5abfd33542e8676
-
- 28 Jan, 2016 1 commit
-
-
Dan Willemsen authored
We have been reordering objects to the linker based on how they were generated. In soong, they're ordered based on the order listed in the src_files. Keep track of which source files created which object files so that we can create the ordered list. Optionally change the order, based on BINARY_OBJECTS_ORDER. That way we can compare make and soong builds. Since we're keeping track of the used source files, warn when an entry in LOCAL_SRC_FILES is not used. (whether it is an unused file like a header, or a typo) LOCAL_GENERATED_SOURCES is not verified, since it is valid to add headers and other files in that list (to set up dependencies). Change-Id: I1dfbbb3aa570c11c1db3b7133e46ed0b8c3b8989
-
- 27 Jan, 2016 1 commit
-
-
Alex Klyubin authored
This reverts commit 74df828c. This commit is breaking a build, again... Change-Id: I2df561d68302ba4c83e90a64a7bf203645033a3b
-
- 26 Jan, 2016 2 commits
-
-
Alex Klyubin authored
This changes the build system to provide the signapk tool with the minSdkVersion of the APK being signed. signapk in turn will then use SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher (see c2c49ed0). To avoid increasing incremental OTA update package sizes for already released platforms, release build scripts disable the above logic when signing target files ZIPs for pre-N platforms. Bug: 25643280 Change-Id: I058393e0971d0d6559dbd69ea902754c6c7cab14 (cherry picked from commit de5bc047)
-
Ying Wang authored
To build with AAPT2, set "USE_AAPT2=true". TODO: Support split apks and generated resources from other than renderscript. Bug: 25958912 Change-Id: I19b1a038824ce5b2a3d3ffadbce3173c845193fc
-
- 25 Jan, 2016 1 commit
-
-
Alex Klyubin authored
This reverts commit de5bc047 because it's breaking some builds. Turns out some APKs have multiple sdkVersion attributes returned by aapt. Change-Id: I013d6ef5eac473dd3900e0b9edf4c32cdc838bab
-
- 21 Jan, 2016 1 commit
-
-
Alex Klyubin authored
This changes the build system to provide the signapk tool with the minSdkVersion of the APK being signed. signapk in turn will then use SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher (see c2c49ed0). To avoid increasing incremental OTA update package sizes for already released platforms, release build scripts disable the above logic when signing target files ZIPs for pre-N platforms. Bug: 25643280 Change-Id: I048393e0971d0d6559dbd69ea902754c6c7cab14
-
- 14 Dec, 2015 1 commit
-
-
Shinichiro Hamaji authored
The .dex.toc files are created by dexdump, which outputs all information in a .dex file which may affect compilation of other modules. For prebuilt java libraries and static java libraries, we'll output empty .toc files and don't set restat=1. .dex.toc files are necessary even for static java libraries because they can be referenced by LOCAL_JAVA_LIBRARIES (instead of LOCAL_STATIC_JAVA_LIBRARIES). We don't use this optimization for apps build. We cannot build dexdump for apps build due to lack of libc++. Performance: $ m && touch \ frameworks/base/core/java/com/google/android/util/Procedure.java \ && time m Before: 3m48s After: 1m46s Bug: 24597504 Change-Id: Id1665923b414dee705dc60af4c021390a19ea26f
-
- 09 Dec, 2015 1 commit
-
-
Yohann Roussel authored
Also install and update the server if necessary. The target start-jack-server produces no file so it's always built. Since the dependency is "order only", it doesn't cause force rebuilt of jack targets after start-jack-server execution. Bug: 25443108 Change-Id: I1608d87d186694d47307e00337b1905f0b8079c4
-
- 04 Dec, 2015 1 commit
-
-
Alex Klyubin authored
This changes the build system to no longer run zipalign except for those prebuilts which do not need to re-signed. Running zipalign is no longer needed because signapk takes care of alignment. For those prebuilts which do not need to be re-signed signapk is not invoked and thus zipalign is still needed because the prebuilts may not have been aligned properly. This exemption will go away once prebuilts are properly aligned. Bug: 25794543 Change-Id: I31f10af80b9baa3c9481cb36f41e5e5046e852f9
-
- 30 Nov, 2015 1 commit
-
-
Shinichiro Hamaji authored
The same optimization was done for binaries in https://android-review.googlesource.com/#/c/175250/ To create a TOC file from .jar files, this change introduces ijar, which is designed for this purpose. Only #include lines were modified from the original version. https://github.com/bazelbuild/bazel/tree/master/third_party/ijar Performance: $ m && touch frameworks/base/core/java/com/google/android/util/Procedure.java && time m Before: 4m30s (1580 targets) After: 3m57s (772 targets) Unfortunately, the improvement is small yet, but local experiments showed we can cut ~2 more minutes if the similar optimization is done for .dex files. (cherry picked from commit c1f5d9c2) Bug: 24597504 Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
-
- 27 Nov, 2015 1 commit
-
-
Shinichiro Hamaji authored
This reverts commit c1f5d9c2. Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
-
- 19 Nov, 2015 1 commit
-
-
Shinichiro Hamaji authored
The same optimization was done for binaries in https://android-review.googlesource.com/#/c/175250/ To create a TOC file from .jar files, this change introduces ijar, which is designed for this purpose. Only #include lines were modified from the original version. https://github.com/bazelbuild/bazel/tree/master/third_party/ijar Performance: $ m && touch frameworks/base/core/java/com/google/android/util/Procedure.java && time m Before: 4m30s (1580 targets) After: 3m57s (772 targets) Unfortunately, the improvement is small yet, but local experiments showed we can cut ~2 more minutes if the similar optimization is done for .dex files. Bug: 24597504 Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
-
- 17 Nov, 2015 1 commit
-
-
Colin Cross authored
Files built by soong will be installed using BUILD_PREBUILT, and may include prerequesites of the acp binary. Allow specifying LOCAL_ACP_UNAVAILABLE:=true on prebuilts. Change-Id: Iccfe61092f90b61f397a45f5334b0c1c0f439b32
-
- 12 Nov, 2015 1 commit
-
-
Dan Albert authored
The relocation packer is part of prebuilts/misc, and pulling that repository into the manifest requires pulling in a lot of other things not needed by the simpler builds (like the clang toolchain manifest). Bug: http://b/17441393 Change-Id: If4a94804fc1a3f81215b840247f8e332d0b510c1
-
- 21 Oct, 2015 1 commit
-
-
Yohann Roussel authored
This is possible now that we have the new Jack server. Also fix dependency from dex/jack target to jack script instead of jack.jar. (cherry picked from commit 5e50b342) Change-Id: I8e7aa5087ba8d73cc93140ddfca8f4ab2f505175
-
- 28 Sep, 2015 1 commit
-
-
Colin Cross authored
Ninja has an implicit dependency on the command being run, and kati will regenerate the ninja manifest if any read makefile changes, so there is no need to have dependencies on makefiles. This won't catch all the cases where LOCAL_ADDITIONAL_DEPENDENCIES contains a .mk file, because a few users of LOCAL_ADDITIONAL_DEPENDENCIES don't include base_rules.mk, but it will fix the most common ones. Bug: 23566977 Change-Id: I66de882421376303ab7233c8ce7274548f6b2199
-
- 22 Jul, 2015 1 commit
-
-
Yohann Roussel authored
This is possible now that we have the new Jack server. Also fix dependency from dex/jack target to jack script instead of jack.jar. (cherry picked from commit 5e50b342) Change-Id: I8e7aa5087ba8d73cc93140ddfca8f4ab2f505175
-
- 21 Jul, 2015 1 commit
-
-
Yohann Roussel authored
This reverts commit 4c1fc77c. Change-Id: I4f5e3ec1e6fea66f315a9411db17de257817dcc9
-
- 20 Jul, 2015 1 commit
-
-
Yohann Roussel authored
This is possible now that we have the new Jack server. Also fix dependency from dex/jack target to jack script instead of jack.jar. (cherry picked from commit 5e50b342) Change-Id: I5dce864624e97c27441a5ee7f8c3cd582613390e
-
- 04 Jul, 2015 1 commit
-
-
Yohann Roussel authored
This reverts commit 5e50b342. Change-Id: Ibf76cc454994c7ad84128ac923d39794d46a04ec
-
- 03 Jul, 2015 1 commit
-
-
Yohann Roussel authored
This is possible now that we have the new Jack server. Also fix dependency from dex/jack target to jack script instead of jack.jar. Change-Id: I28b5f7176747853ef707b8d4055017bf60296641
-
- 02 Jun, 2015 2 commits
-
-
Ying Wang authored
- In uncompress-shared-libs we may strip .so files not for the current TARGET_ARCH. So we need to strip first and then sign the apk. - For PRESIGNED apks, make sure we don't strip the .so files even if they are "fat". Bug: 21571418 Bug: 8076853 Change-Id: Ifd1193dda0c2cd52ac148064ce5a32bcdd03f75c
-
Ying Wang authored
- We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always page-align jni shared libraries and store them umcompressed. - For prebuilt apks, we don't extract jni any more; Instead we always run uncompress-shared-libs on them. - For apks built from source, we still install the jni separately, because that way multiple apks can share the same jni and it saves space. With this change, for most prebuilt apks, we don't need to specify LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build system automatically replaces the embedded jni with uncompressed files; But if a prebuilt is a fat apk (i.e. containing jni not needed by the current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to specify what jni to keep. Otherwise all embedded jni will be replaced with uncompressed files, that wastes space. Bug: 8076853 Change-Id: Ic3666dc72bf17cd293787414dd185470b365f967
-
- 19 May, 2015 1 commit
-
-
Yohann Roussel authored
This allows to compile dex targeted java sources using Jack and Jill. Default is still to compile with the legacy toolchain. Default can be switched to the new toolchain by setting environement variable: export ANDROID_COMPILE_WITH_JACK=true Toolchain can also be forced for one module by defining LOCAL_JACK_ENABLED:=full # disabled, full, incremental in the mk portion defining the module. Jack execution environement can be controlled with: Global variable ANDROID_JACK_VM allow to change the jvm executing Jack. Global variable ANDROID_JACK_VM_ARGS allows to change default args given to the jvm. Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args to give to Jack LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for the module. LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack. This includes cherry-picks of the following changes: b4c49cba 22c3fa6d 138768c1 5dd3e1d3 83d5d040 8bc90fd2 14027470 0fbc9ff2 833b427d f9a27f45 28096669 37822c44 c6b44d43 d2a76c14 06744f60 95573d50 b8213916 2794e7b5 801f2c44 c76d99dc f528e132 76a5e0bd e25b3984 Partially, only Jack related parts werekept ec46a3b7 abee3a9f 77cbe10f daf07db4 b6bfb589 Ie all Jack related changes untill b6bfb589 except a96cc59a "Use Jack by default" Change-Id: If9d47ef1c4fd1e6765ad2a47d816c1ad3cfab0e3
-
- 04 May, 2015 1 commit
-