aboutsummaryrefslogtreecommitdiffstats
path: root/java/android_manifest.go
Commit message (Collapse)AuthorAgeFilesLines
* Pass --remove-tools-declarations to manifest mergerColin Cross2019-12-111-3/+12
| | | | | | | | | Manifest merger needs --remove-tools-declarations to match Gradle behavior. Bug: 112607039 Test: m checkbuild Change-Id: Id93bcaeaf03770a4acd2e1fdf44e418f55540dd3
* Don't use merged manifest for android_library modulesColin Cross2019-12-111-23/+24
| | | | | | | | | | | | Don't use the merged manifest for android_library modules. We still have to run manifest merger for android_library modules because Make can't handle transitive dependencies, so it will continue to merge the manifests at each library, and then merge the manifests of direct dependencies into the final application. Bug: 113294940 Test: m checkbuild Change-Id: Ia8f9f910bd0a134730ddf2d542460eeddbc0a075
* Set default target SDK version for APEXJiyong Park2019-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Target SDK version is used for targeting an APEX to a specific set of platform builds. Usually, the targeting is unrestricted (in case the APEX can run on all platforms), or based on platform SDK version (e.g. 28 for P). However, when the platform is under development and SDK is not finalized, the targeting should be much more fine-grained; the APEX should be targeted to a very specific build that supports the same set of APIs that the APEX was built against. To support that, target sdk version is automatically set by the build system. When the platform is released or SDK is finalized, the target sdk version set to the SDK version number. If not, it is set to <version_code>.<fingerprint> (e.g., Q.123456). Note that the target sdk version set by the build system is used only when the target sdk version is not explicitly set in AndroidManifest.xml. Bug: 130541924 Test: UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true \ UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true \ TARGET_BUILD_APPS=com.android.tzdata m build.ninja has --target_sdk_version Q.$$(cat out/soong/api_fingerprint.txt) Test: aapt dump badging out/dist/com.android.tzdata.apex | grep \ targetSdkVersion shows: targetSdkVersion:'Q.6ee443d9ad5f0cca7a43cfa97b7fc62a' Merged-In: I086230d787f01075c28fc3f0163550300fa00212 Change-Id: I086230d787f01075c28fc3f0163550300fa00212 (cherry picked from commit 71b519d6ce98fc0313019d84777bfc04f3799efc)
* Allow codename.fingerprint format for targetSdkVersionColin Cross2019-04-221-4/+16
| | | | | | | | | | | Use codename.fingerprint format for targetSdkVersion if it is unset in the manifest and UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true. Test: manual Bug: 130541924 Change-Id: I4e3b1274cc32038b00b292dc6d67559eb320e9e4 Merged-In: I4e3b1274cc32038b00b292dc6d67559eb320e9e4 (cherry picked from commit 109328714ff626446e16cfdd3103a5b969284841)
* Update manifest merger to use binaryColin Cross2019-03-041-4/+2
| | | | | | | | | Manifest merger is now a java_binary instead of a collection of jars, it can use the single binary as the dependency. Bug: 112607039 Test: m checkbuild Change-Id: Iea6c97c99a3bb09952fed2b25437b644f4e863f8
* Set usesNonSdkApi in manifest when Platform_apis=trueDavid Brazdil2019-02-181-1/+5
| | | | | | | | | | | | | | | | The Platform_apis field in CompilerDeviceProperties currently has no effect. Unify the behaviour with make and run manifest_fixer.py to encode the information in the manifest. This is used to exempt bundled apps and platform tests from hidden API access checks without having a fixed whitelist of packages. Bug: 113315999 Bug: 124671117 Test: m UbSystemUiJankTests && \ aapt d xmltree \ target/product/taimen/data/app/UbSystemUiJankTests/UbSystemUiJankTests.apk \ AndroidManifest.xml | grep usesNonSdkApi Change-Id: I20c392d91ee6275ef8139fbeb5b9700385abbc80
* Add support for use_embedded_dex in SoongColin Cross2019-02-081-1/+5
| | | | | | | | | When use_embedded_dex is set, store the dex uncompressed in the APK and set the android:useEmbeddedDex="true" attribute in the manifest. Test: m checkbuild Change-Id: Iea6e7ed19599830ac72392ef93f9c98957df1cce
* Make manifest and APK agree on uncompressed native libsColin Cross2019-02-081-2/+14
| | | | | | | | | | | Only put uncompressed native libs in an APK if the min_sdk_version supports it (>= 23, Marshmallow), and set android:extractNativeLibs="false" in the AndroidManifest.xml so that the platform won't extract them anyways. Bug: 117618214 Test: m checkbuild Change-Id: I760017e48bf3c6b618aabde0982df45995765d48
* Support setting target_sdk_version separately from sdk_versionDan Willemsen2018-10-311-1/+1
| | | | | | | | | | | | Before this change, if targetSdkVersion wasn't set in the AndroidManifest.xml, we'd set it to the sdk_version from the Android.bp. But there are cases where you want to compile against a later SDK, but target an earlier one (especially if you depend on libraries that need to be compiled against more recent SDKs, like androidx). Test: build APK with different target_sdk_version. Change-Id: Iaed36b522955a374a049ef331158cc8fc5798ad2
* Make manifest_fixer.py keep targetSdkVersion high with min_sdk_versionColin Cross2018-09-101-4/+9
| | | | | | | | | targetSdkVersion should stay as "current" when min_sdk_version is set but sdk_version is not. Bug: 112438448 Test: atest CtsTelecomTestCases Change-Id: I11dc27eccd31200d1ce27c7e332106bb825651b4
* Fix manifest merging flagsJason Monk2018-08-281-1/+1
| | | | | | | | | | library manifests were just being dropped on the ground. Bug: 112467584 Test: build Change-Id: I61c2efca37aa3fdb9c944260f4a276d1d3c26f6c Merged-In: I61c2efca37aa3fdb9c944260f4a276d1d3c26f6c (cherry picked from commit b7c147efec90707532f97b6cc7ff9e82095772fc)
* Set targetSdkVersion in manifest_fixerColin Cross2018-07-261-3/+10
| | | | | | | | | | | | | | | If targetSdkVersion is not set in the manifest, set it to the value it was implicitly using before changing minSdkVersion. Requires passing --library to manifest_fixer.py to distinguish between apps, where the implicit value was set by aapt2 to current, or libraries where the implicit value was 1. Fixes cases where the manifest does not specify targetSdkVersion and was inheriting the minSdkVersion value until manifest merger started merging a lower targetSdkVersion value from a library. Bug: 111347801 Test: manifest_fixer_test.py Change-Id: I8fcf0c5f452707565ba1808f6fe552ffed055c47
* Use manifest merger in SoongColin Cross2018-07-111-0/+71
Move the manifest merger config to Soong, and use it to merge manifests of static dependencies of android_library and android_app modules. Bug: 110848854 Test: m checkbuild Change-Id: Ib89e1f1a52a8b76157e4e0348baf42800412df0d Merged-In: Ib89e1f1a52a8b76157e4e0348baf42800412df0d Merged-In: I5d055ce63b8371db500f8868fb73ab3604b8c24a