Deprecation and removal of support of DX was announced here:
https://android-developers.googleblog.com/2020/02/the-path-to-dx-deprecation.html.
There is says:
As of On Feb 1st, 2021, we’ll move to step 3, removing DX fully from
Android Studio and any other build environments.
Test: m sdk
Bug: 185479734
Bug: 73711890
Change-Id: I2d7601037ed4135e00cf48b4b9f490a86fec90cb
AAPT2 can be invoked through JNI by loading the libaapt2_jni.dll library
in the JVM. Provide a 64-bit version of libaapt2_jni.dll for 64-bit
JVMs.
Fixes: 150355628
Test: manually inspect sdk-repo-windows-build-tools-*.zip
Change-Id: Iebf1ded45d0c2901f0f3905f2b37a8801c378a4e
libbinder_ndk includes a set of C++ headers which are for all practical
purposes coupled with the AIDL compiler. Since NDK and SDK releases do
not line up, and some developers are known to use even old versions of
the SDK with the newest NDK, subtle C++ changes to this library may
break compatibility with the aidl compiler.
Both to reduce the possibility we accidentally break developers as well
as increase the types of changes that can be made, the plan is to always
ship libbinder_ndk C++ headers alongside AIDL.
In the future, this will come with a removal of these headers from the
NDK (with error messages pointing developers to use the version that is
built and tested with their version of aidl).
Bug: 160624671
Test: 'm sdk' and verify contents in out/host/*/sdk/sdk/**
Change-Id: I6dcdfce5314863663548f0a4523df6e96448ee23
This is needed as metadata and data encryption are both
turned on for sdk_phone_arm64 already
BUG: 169343095
Change-Id: I4ef2249d01720d516c68751495b66623ad2ba993
- Update old comments in sdk.atree.
- Add README.md with instructions on building sdk.
Test: lunch sdk && m -j sdk
Test: Unzipped and extracted platforms/android-11/optional/android.car.jar
and verified it with the latest android.car-stubs.jar from
http://ab/.
Bug: 162442020
Change-Id: I9796fbcecfef5178915008b49d81cda996c66fa2
Android Automotive OS stubs (android.car-stubs.jar) is used
to compile apps against Car API.
NOTE: We tried using
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/android.car-stubs_intermediates/classes.jar,
but it doesn't work because car-stubs are not generated when building
regular Android SDK for phones.
Bug: 154653660
Test: m -j
Test: m -j dist
Test: 1. $ ./build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=sdk_phone_armv7 \
TARGET_BUILD_VARIANT=userdebug win_sdk dist DIST_DIR=dist-mine sdk_repo
2. Copy and unzip dist-mine/android-sdk_eng.zhomart_windows.zip to
$HOME/Android/Sdk (replaced the existing Sdk forlder)
3. Created a sample app, used "android.car.Car" and verified it
compiles, runs and connects to the car service.
Change-Id: I1913fd89cf1cd702b3b5b3f386cf3693a5042eea
They are being converted to Android.bp-based disting.
Bug: 161214753
Test: diff dist dir after `m sdk dist`
Merged-In: I1af2aac1a354f66ecb9dfa7f2a44af16cdfa647d
Change-Id: I1af2aac1a354f66ecb9dfa7f2a44af16cdfa647d
They are being converted to Android.bp-based disting.
Bug: 161214753
Test: diff dist dir after `m sdk dist`
Change-Id: I1af2aac1a354f66ecb9dfa7f2a44af16cdfa647d
Lint in unbundled builds will require annotations.zip and api-versions.xml
in prebuilts/sdk.
Bug: 153485543
Test: forrest
Change-Id: Ice23230c57b9ed30541a6dcb6f507b765e6a03fe
Merged-In: Ice23230c57b9ed30541a6dcb6f507b765e6a03fe
(cherry picked from commit 0c40b60640)
Lint in unbundled builds will require annotations.zip and api-versions.xml
in prebuilts/sdk.
Bug: 153485543
Test: forrest
Change-Id: Ice23230c57b9ed30541a6dcb6f507b765e6a03fe
It's a *lot* more expensive, and ziptool doesn't support it. I can
easily add the functionality, but since our only user seems to be a
mistake, that wouldn't be my first choice!
Test: treehugger
Change-Id: Iab1a326e4cec3520942adaf9f3c9bb424adf4c35
We have never actually updated the buildtools version independently of
the normal updates (except updating it to be the same)
If we ever need to update it to a seperate version, that is is easily
accomplished by changing the path.
Bug: b/134507641
Test: m -j55 sdk and run d8 in the sdk zip validating the version
Change-Id: Ib1540b22921e10946ec33076f1db40c50bccac76
Previously, old GNU linkers were removed, in favor of the LLVM linker
lld. However, old versions of AGP consider the absence of those linkers
to mean that the build tools are corrupted. To solve this problem, we
provide a (non-executable) dummy file in place of each old GNU linker to
keep AGP satisfied. A compatibility mode RenderScript build by those
old versions of AGP will fail (as it would have without the dummy
files), but everything else should work.
Bug: 153685081
Bug: 144040336
Bug: 142590626
Test: (gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
(gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug win_sdk dist sdk_repo
Change-Id: I7574c850bfb593df5bcb9131ea8915061b0083e1
core-current-stubs-for-system-modules needs to be distributed
in the SDK to allow apps to be built with javac -source 9 -target 9.
Bug: 143209928
Test: m TARGET_PRODUCT=sdk_phone_x86 TARGET_BUILD_VARIANT=userdebug sdk sdk_repo dist
Change-Id: I9d67344f159f9482567323f27c5a8e4e060e1f1a
Merged-In: I9d67344f159f9482567323f27c5a8e4e060e1f1a
(cherry picked from commit 89c5517a28)
core-current-stubs-for-system-modules needs to be distributed
in the SDK to allow apps to be built with javac -source 9 -target 9.
Bug: 143209928
Test: m TARGET_PRODUCT=sdk_phone_x86 TARGET_BUILD_VARIANT=userdebug sdk sdk_repo dist
Change-Id: I9d67344f159f9482567323f27c5a8e4e060e1f1a
Linkers aarch64-linux-android-ld and x86_64-linux-android-ld were built
with a minimum macOS deployment target lower than 10.9, so they cannot
be signed and notarized. Rather than try to produce newer versions of
these linkers (which are obsolete in the SDK anyway), we remove them (so
that all of the SDK can be signed and notarized). Rather than introduce
an inconsistency among the linkers for a particular host (there are
three other GNU linkers that don't have this problem) or across hosts
(there are no issues on linux or windows), we remove all of the GNU
linkers, not just the two problematic ones.
Only newer gradle plugins (those that look for the clang linker lld)
will work with the new SDK from which those old linkers have been
removed.
Bug: 152337684
Test: (gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
(gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug win_sdk dist sdk_repo
Inspect sdk-repo-{linux,windows}-build-tools-eng.*.zip
Merged-In: Iccfa870a826de3f12c99175e0761ea00fe2876ed
Change-Id: Iccfa870a826de3f12c99175e0761ea00fe2876ed
(cherry picked from commit cb255acf77)
Linkers aarch64-linux-android-ld and x86_64-linux-android-ld were built
with a minimum macOS deployment target lower than 10.9, so they cannot
be signed and notarized. Rather than try to produce newer versions of
these linkers (which are obsolete in the SDK anyway), we remove them (so
that all of the SDK can be signed and notarized). Rather than introduce
an inconsistency among the linkers for a particular host (there are
three other GNU linkers that don't have this problem) or across hosts
(there are no issues on linux or windows), we remove all of the GNU
linkers, not just the two problematic ones.
Only newer gradle plugins (those that look for the clang linker lld)
will work with the new SDK from which those old linkers have been
removed.
Bug: 152337684
Test: (gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
(gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug win_sdk dist sdk_repo
Inspect sdk-repo-{linux,windows}-build-tools-eng.*.zip
Change-Id: Iccfa870a826de3f12c99175e0761ea00fe2876ed
api-versions.xml and annotations.zip will now be taken from framework-doc-stubs
module so that api-stubs-docs can stop generating them.
Test: lunch sdk; make sdk
Bug: 151160048
Change-Id: I35fdba553318098a09249f47d7d78cdef79f3898
Merged-in: I35fdba553318098a09249f47d7d78cdef79f3898
Makes these artifacts available for the update_prebuilts script.
Bug: 149293194
Test: m win_sdk dist && find out/dist -type f
Change-Id: Icd91da0976f24eb1b4ea1eeaebb96398990f760e
Merged-In: Icd91da0976f24eb1b4ea1eeaebb96398990f760e
(cherry picked from commit b4aca10721)
Makes these artifacts available for the update_prebuilts script.
Bug: 149293194
Test: m win_sdk dist && find out/dist -type f
Change-Id: Icd91da0976f24eb1b4ea1eeaebb96398990f760e
prebuilts/sdk/tools is updated from the zip file built by the SDK.
The lld binaries are copied from the prebuilts to the zip file, and
were moved in the zip file, which meant the next time the prebuilts
were updated the wrong files were copied.
Fixes: 151729229
Test: m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug out/host/linux-x86/sdk/sdk_phone_armv7/repo-sys-img.xml sdk sdk_repo
Change-Id: I2de182f3cbf739dbd9c6a5287e1416ea37d2899f
Move lld.exe to lld-bin directory; add lld-bin/libwinpthread-1.dll; add
trampoline.
Best practice is to ship necessary libraries of expected versions along
with build tools, rather than requiring them to be found elsewhere.
lld.exe depends on libwinpthread-1.dll and windows looks for it in the
same directory as lld.exe. Unfortunately, there's already a 32-bit
libwinpthread-1.dll at the tool root (used by 32-bit executables at
the tool root), and lld.exe is a 64-bit executable, so it needs its own
directory and its own library.
In the old location of lld.exe, we add a trampoline executable (a build
artifact) in lld-bin; this means Gradle, which invokes lld.exe in the old
location, does not have to change.
Bug: 148267171
Bug: 142590626
Bug: 144040336
Test: (gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
(gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug win_sdk dist sdk_repo
Merged-In: Ice6710ed204a25d09ac596207c02b8b99ca95b8b
Change-Id: Ice6710ed204a25d09ac596207c02b8b99ca95b8b
(cherry picked from commit 24e52959d7)