When stand-alone relocation_packer is not used,
use the LINKED file and skip the copy to PACKED directory.
Test: make checkbuild
Change-Id: Ia1e5d1cd22ca6dfb68e406ffdcbb367b4d07d437
Use the newly exposed HOST_STRIP from Soong to strip host tools during
atree.
This appears to produce slightly different host tools, but they're still
stripped.
Test: m PRODUCT-sdk_arm64-sdk dist sdk_repo
Change-Id: Id2863347882eb63d2a4cce45f0cd8de510ed4543
* Factor out the logic that sets up my_pack_module_relocations
from dynamic_binary.mk to pack_dyn_relocs_setup.mk.
* Use stand-alone relocation_packer only if my_pack_module_relocations
is true and my_use_clang_lld is false.
Bug: 80093890
Bug: 73768157
Test: build and boot with USE_CLANG_LLD=true
Change-Id: I7c4b5fcdce0754c57cff4acf86185cac65a26c40
There was PRODUCTS, ALL_PRODUCTS and really_all_products, and
ALL_PRODUCTS was in fact not all products. Rename it to what
it really is: parent makefiles, i.e. product makefiles that include
other product makefiles.
Also rename the really_all_products var.
Bug: 80410283
Test: lunch aosp_arm64; m product-graph
Change-Id: I87aec49966e50c364ca2baf5de10fe30f9292a53
P VNDK snapshot needs to include VNDK libs built for 64-bit binder
products, aosp_arm and aosp_x86. This change modifies the following:
1) Revise VNDK snapshot zip file name to use $TARGET_PRODUCT instead of
$TARGET_ARCH in order to distinguish aosp_arm and aosp_arm_ab.
2) Place 32-bit binder libs under a subdirectory 'binder32' such that
the snapshots can be uploaded to prebuilts/vndk/v{VER} with the following
directory structure:
prebuilts/vndk/v{VER}/
arm/
arch-arm-armv7-a-neon/
shared/
...
binder32/
arch-arm-armv7-a-neon/
shared/
...
...
arm64/
arch-arm-armv7-a-neon/
arch-arm64-armv8-a/
...
...
The 32-bit binder libs will be placed in a separate subdirectory so that
they can be easily phased out in future VNDK snapshots.
Bug: 80372796
Test: make -j vndk dist
Merged-In: I7cde2e706e0c2891bab762b9057672f57e798873
Change-Id: I7cde2e706e0c2891bab762b9057672f57e798873
(cherry picked from commit 3ba44eb916)
We have use case that uses the timestamp for PLATFORM_SECURITY_PATCH in
device specific Makefile, but need to handle the platform-dependent
`date` command. This CL computes and exposes
PLATFORM_SECURITY_PATCH_TIMESTAMP from the core build system.
Bug: 80311893
Test: Use PLATFORM_SECURITY_PATCH_TIMESTAMP in device-specific folder,
on both of Linux and macOS. Check the value.
Change-Id: I27a88dcebde7a1c204491f5f5c45c5160398dbb6
We've had a report of Android.mk files changing one of these paths,
leading to very strange issues. Nobody should be writing to these
variables after they're set.
Bug: 76424357
Test: diff build-aosp_arm.ninja
Change-Id: I66a9740d89feae342af13341ee3a630a20d62b64
Proguard treats -dontobfuscate -keepattributes *Annotations* the
same as -dontobufscate by keeping all attributes. R8, even in
proguard compatibility mode, discards all attributes that don't
match, including EnclosingClass attributes that may be necessary.
Pass -keepattributes * whenever passing -dontobfuscate to make R8
act more like proguard.
This isn't a complete solution, some modules may set
LOCAL_PROGUARD_ENABLED := custom and then manually specify
-dontobfuscate on the command line or in a flags file, in which
case they will see the incorrect behavior of R8.
Bug: 80081393
Test: m checkbuild
Test: examine attributes on com.android.stk.BootCompletedReceiver
in out/target/common/obj/APPS/Stk_intermediates/classes.dex
Change-Id: I761f2d0617c5295df8fc7adfc4fd00d2aa41961e
This reverts commit 777cf2c450.
Reason for revert: manifest merger is used for libraries forced to aapt2 now
Bug: 79481102
Test: m checkbuild
Change-Id: I9b67fd2a9b3234798b2aac879b5242c2097b3863
adbd for recovery partition is built separately. No need to copy.
Instead, the recovery version adbd.recovery is added to
PRODUCT_PACKAGES.
Bug: 79146551
Test: m -j
Test: adb reboot recovery; adb devices
Change-Id: I7f0ee8b21cbafc0ab5a4eb1f9c8ee70774617013
If the default manifest that doesn't set minSdkVersion is passed to
manifest merger along with a library manifest that does, it will fail
with:
.../DefaultManifest.xml Error:
uses-sdk:minSdkVersion 1 cannot be smaller than version 14 declared in library ...
Translate LOCAL_MIN_SDK_VERSION or LOCAL_SDK_VERSION to minSdkVersion
in DefaultManifest.xml.
Bug: 79481102
Test: m checkbuild
Change-Id: I4d792d48612e6a1111e05a9e4a71bb4d87eae1ad
If manifest merger sees a manifest with an sdk codename instead
of a number it fails with:
Exception in thread "main" java.lang.NoClassDefFoundError: com/android/sdklib/SdkVersionInfo
at com.android.manifmerger.XmlDocument.getApiLevelFromAttribute(XmlDocument.java:384)
at com.android.manifmerger.XmlDocument.addImplicitElements(XmlDocument.java:418)
at com.android.manifmerger.XmlDocument.merge(XmlDocument.java:161)
at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:909)
at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:263)
at com.android.manifmerger.ManifestMerger2.access$600(ManifestMerger2.java:61)
at com.android.manifmerger.ManifestMerger2$Invoker.merge(ManifestMerger2.java:1530)
at com.android.manifmerger.Merger.process(Merger.java:153)
at com.android.manifmerger.Merger.main(Merger.java:42)
Caused by: java.lang.ClassNotFoundException: com.android.sdklib.SdkVersionInfo
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 9 more
Add sdklib to the classpath to fix it.
Test: m java
Bug: 77569197
Change-Id: I54fd9edb36aca32cff507340a76eee5e367529e6
Test: Set a device with PRODUCT_USE_LOGICAL_PARTITIONS,
boot, examine /proc/cmdline
Test: build with USE_LOGICAL_PARTITIONS=true
Fixes: 79885414
Change-Id: I593b457786f3cf1bc50dedbc9b603e5408461bcc
LOCAL_STATIC_JAVA_AAR_LIBRARIES are slightly different from
LOCAL_STATIC_ANDROID_LIBRARIES, due to b/78447299 the
AndroidManifest.xml from ANDROID libraries are ignored.
Temporarily add support for LOCAL_STATIC_JAVA_AAR_LIBRARIES
when using LOCAL_USE_AAPT2 := true, treating them the same
as LOCAL_STATIC_ANDROID_LIBRARIES except that they are
merged by android_manifest.xml
Bug: 78447299
Bug: 79481102
Test: m FORCE_AAPT2=true checkbuild
Change-Id: Ia6210810c1ea6e776be97ae1c9a586b5de844125
LOCAL_PRIVATE_PLATFORM_APIS := ture means that the apps or packages can
use the private API. So, if LOCAL_PRIVATE_PLATFORM_APIS := true, they
are linked to ".impl" instead of ".stub".
Bug: 77577799
Test: build
Change-Id: I782e52078bb8c4139c3a24862cb381f6a84e53fe
This reverts commit ba7699fb9a.
Reason for revert: Broke boot tests on walleye and taimen
Bug: 80142285
Change-Id: Ida54a0b875147420e6e9c0af41b14af50f6397e3
After https://android-review.googlesource.com/688488
BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR can now specify multiple
directories.
Bug: n/a
Test: build sepolicy
Change-Id: Id850327c29bc626d3d721935edcb2b7afd2fd283
The name of the runtime library name for the SDK library
org.apache.http.legacy has changed to org.apache.http.legacy.impl as it
is now built using java_sdk_library construct where *.impl suffix is
automatically added to the runtime lib.
Bug: 77577799
Test: m -j
Merged-In: Ie049d06d78cc403454c2885def88a167975b4204
Change-Id: Ie049d06d78cc403454c2885def88a167975b4204
(cherry picked from commit 7f9a1a49cf)
Switch to using AAPT2 by default. Can be disabled globally with
FORCE_AAPT2=false or per-module with LOCAL_USE_AAPT2 := false.
Bug: 79481102
Test: m checkbuild
Change-Id: I35719f708fa3bcc1d54721e62ac9cc8780f7cbbe
The presence of LOCAL_STATIC_ANDROID_LIBRARIES is used early to
decide whether to move resources to overlays, and late to decide
whether to add --auto-add-overlay. If support_libraries.mk moves
the last LOCAL_STATIC_ANDROID_LIBRARIES value to
LOCAL_STATIC_JAVA_LIBRARIES then the resources will be moved to
overlays but --auto-add-overlay will not be added, causing aapt2
to fail with:
error: resource bool/leanback_outline_clipping_disabled does not override an existing resource.
note: define an <add-resource> tag or use --auto-add-overlay.
Bug: 79481102
Test: m FORCE_AAPT2=true java
Change-Id: Icc67acf23b846bd506a5d397d02ad5775ad0ea1d
The location of AndroidManifest.xml has already been computed
by android_manifest.mk, don't duplicate the logic. Fixes an
extra regeneration triggered by $(wildcard $(my_android_manifest))
when LOCAL_FULL_MANIFEST_FILE points to a generated file, which
will not exist on the first run of kati.
Test: m
Change-Id: Ia56693a4dbbc7d78900019b887f766938dc55dab