Commit Graph

15374 Commits

Author SHA1 Message Date
Yifan Hong dfaa860073 androidboot.lrap => logical_partitions
Test: boots with prototype
Bug: 79885414
Change-Id: I63c4d7a4b69d84809700cc71eee8ece33c365e9e
2018-05-31 13:08:11 -07:00
Tao Bao d48f2a1408 Merge "Expose PLATFORM_SECURITY_PATCH_TIMESTAMP." 2018-05-29 21:07:18 +00:00
Treehugger Robot f346fd4485 Merge "Remove unnecessary branch for BOARD_HAS_EXT4_RESERVED_BLOCKS." 2018-05-29 20:02:35 +00:00
Tao Bao 717d9d3ae2 Expose PLATFORM_SECURITY_PATCH_TIMESTAMP.
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
2018-05-29 11:45:09 -07:00
Yifan Hong ebba19759d Add ro.boot.logical_partitions
Test: boot and getprop
Bug: 79885414
Change-Id: I2c1468a7a625deda8887106c3a087204a1ee8353
2018-05-29 11:17:45 -07:00
Yifan Hong 5cf81a3cfa Remove unnecessary branch for BOARD_HAS_EXT4_RESERVED_BLOCKS.
The branch exist for file based OTA, but it is deprecated in O.
Test: m dist

Change-Id: I24275b550f89c2541ef8893fdeffc06f5da01f6e
2018-05-29 11:15:28 -07:00
Treehugger Robot 24fff76404 Merge "Add support when LOCAL_PRIVATE_PLATFORM_APIS is true." 2018-05-28 02:23:26 +00:00
Dan Willemsen 3de78fdf35 Fix path to flex and bison with SANITIZE_HOST
We don't have sanitized versions of flex and bison currently.

Test: forrest on aosp_x86_64-eng
Change-Id: I536885a715c162e36b69282099784abd16a5300c
2018-05-25 16:13:52 -07:00
Treehugger Robot 6fe15a380d Merge "Use new flex binary" 2018-05-25 22:44:35 +00:00
Colin Cross bcc94297e0 Merge changes I9b67fd2a,I761f2d06
* changes:
  Revert "Revert "Use AAPT2 by default""
  Work around incorrect R8 proguard compatibility
2018-05-25 20:30:01 +00:00
Colin Cross 5b89ec4d42 Revert "Revert "Use AAPT2 by default""
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
2018-05-25 11:34:13 -07:00
Colin Cross cf5180c198 Work around incorrect R8 proguard compatibility
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
2018-05-25 11:34:13 -07:00
Treehugger Robot 93ca8d3789 Merge "Don't copy system/sbin/adbd to recovery" 2018-05-25 05:58:01 +00:00
Dan Willemsen 6535dd9891 Use new flex binary
Test: treehugger
Change-Id: Iee21114ae863eb50d26ee9562879a97f956274ab
2018-05-24 16:04:58 -07:00
Tao Bao e2d0b0cc43 Merge "Pack additional AVB testkeys into otatools.zip." 2018-05-24 17:04:17 +00:00
Jiyong Park ce3e34f6ac Don't copy system/sbin/adbd to recovery
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
2018-05-24 18:19:49 +09:00
Treehugger Robot e56adeffef Merge "Install product shared libraries in /product/lib" 2018-05-24 03:04:48 +00:00
Treehugger Robot bd842d0b64 Merge "Add minSdkVersion to default manifests" 2018-05-24 01:18:10 +00:00
Treehugger Robot 7f706cabac Merge "Fix missing class in manifest merger" 2018-05-24 01:15:54 +00:00
Treehugger Robot fecdb5db65 Merge "Add PRODUCT_USE_LOGICAL_PARTITIONS" 2018-05-23 23:50:32 +00:00
Colin Cross d45079a9ff Add minSdkVersion to default manifests
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
2018-05-23 16:35:40 -07:00
Colin Cross 0084dc8e2f Fix missing class in manifest merger
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
2018-05-23 16:35:40 -07:00
Yifan Hong ef4cd71ebf Add PRODUCT_USE_LOGICAL_PARTITIONS
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
2018-05-23 15:10:17 -07:00
Colin Cross 71c5b95aa6 Support LOCAL_STATIC_JAVA_AAR_LIBRARIES with aapt2
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
2018-05-23 13:39:15 -07:00
Treehugger Robot 3b801ca7fb Merge "Use manifest-merger 26.1.0 for builds." 2018-05-23 20:03:08 +00:00
Tao Bao 2d0e5124b0 Pack additional AVB testkeys into otatools.zip.
Bug: 71372646
Test: `m -j otatools-package`; Check $OUT/otatools.zip.
Change-Id: I42ad9047d1c5873b7770dc1f92757cd9e5e047ba
2018-05-23 09:23:28 -07:00
Sundong Ahn 2b17041789 Add support when LOCAL_PRIVATE_PLATFORM_APIS is true.
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
2018-05-23 21:34:18 +09:00
Jiyong Park 68ad8057d7 Merge changes from topic "java_sdk_library"
* changes:
  org.apache.http.legacy.boot is renamed to org.apache.http.legacy.impl
  use the phony module name to install org.apache.http.legacy
2018-05-23 11:35:25 +00:00
Treehugger Robot af076d240a Merge "Build System: Validate AndroidTest.xml Configs" 2018-05-23 03:21:51 +00:00
Colin Cross 4f553c750a Merge "Revert "Use AAPT2 by default"" 2018-05-22 23:14:53 +00:00
Jeff Gaston 777cf2c450 Revert "Use AAPT2 by default"
This reverts commit ba7699fb9a.

Reason for revert: Broke boot tests on walleye and taimen

Bug: 80142285
Change-Id: Ida54a0b875147420e6e9c0af41b14af50f6397e3
2018-05-22 23:13:41 +00:00
Treehugger Robot 33c3d7c1aa Merge "Account for multiple BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR dirs" 2018-05-22 22:50:59 +00:00
Colin Cross 90b890f9f2 Merge "Use AAPT2 by default" 2018-05-22 17:45:20 +00:00
Tri Vo 494830879c Account for multiple BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR dirs
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
2018-05-22 09:24:10 -07:00
Jiyong Park 565ec59f1f org.apache.http.legacy.boot is renamed to org.apache.http.legacy.impl
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)
2018-05-22 20:37:30 +09:00
Logan Chien fcf4d7200a Merge "Build a single GSI for O-MR1-VENDOR and Master-VENDOR" 2018-05-22 04:04:07 +00:00
Colin Cross ba7699fb9a Use AAPT2 by default
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
2018-05-22 01:21:55 +00:00
Treehugger Robot 7e15b44c23 Merge "Move support library dependency munging earlier" 2018-05-18 00:00:50 +00:00
Treehugger Robot 1b02cfd8ab Merge "Don't recompute location of AndroidManifest.xml" 2018-05-18 00:00:24 +00:00
Colin Cross 7bc6cab12e Move support library dependency munging earlier
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
2018-05-17 15:09:17 -07:00
Colin Cross 1c3d83b64c Don't recompute location of AndroidManifest.xml
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
2018-05-17 15:09:17 -07:00
Colin Cross e3c456423e Merge "Don't always filter out --auto-add-overlay" 2018-05-17 18:52:53 +00:00
Colin Cross 282065ab15 Don't always filter out --auto-add-overlay
There are some cases where --auto-add-overlay is added for legitimite
reasons, for example in RROs.  Only filter it out from modules that
were using --extra-packages for support library modules.

Test: m FORCE_AAPT2=true java
Change-Id: I165fa577f2204ecbc57e71f946db3f346568ad81
2018-05-17 10:16:04 -07:00
Logan Chien 86b52aec24 Build a single GSI for O-MR1-VENDOR and Master-VENDOR
The objective of this commit is to support these 3 combinations:

1. Master-GSI + Master-VENDOR (w/ BOARD_VNDK_VERSION)
2. Master-GSI + Master-VENDOR (w/o BOARD_VNDK_VERSION for upgrading devices)
3. Master-GSI + O-MR1-VENDOR (w/ BOARD_VNDK_VERSION)

This commit defines a new property `ro.vndk.lite` to indicate the status
of BOARD_VNDK_VERSION run-time enforcement.  Now, all devices should
have `ro.vndk.version` so that `libhidlbase.so`, `libRSCpuRef.so`, and
`libnativeloader.so` can find the versioned VNDK directory.

Bug: 78605339
Test: aosp_sailfish Master-SYSTEM + Master-VENDOR boots
Test: aosp_sailfish Master-GSI    + Master-VENDOR boots
Test: aosp_walleye  Master-SYSTEM + Master-VENDOR boots
Test: aosp_walleye  Master-GSI    + Master-VENDOR boots
Test: aosp_walleye  Master-GSI    + O-MR1-VENDOR boots
Change-Id: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
Merged-In: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
(cherry picked from commit d73b94c097)
2018-05-17 14:25:15 +08:00
Mathieu Chartier 625ad4a0c8 Merge "Move back to using COMMON jars for preopt dependencies" 2018-05-16 22:59:23 +00:00
Colin Cross e2f541bb9f Pass 0 to llvm-rs-cc for current
Apparently empty PRIVATE_RS_TARGET_API is not the same as current,
pass 0 explicitly.

Test: forrest ub-renderscript-test
Change-Id: I8b2001b12161f07c404f78f63a80d82dffa1075f
2018-05-16 09:57:10 -07:00
Mathieu Chartier c52de423af Move back to using COMMON jars for preopt dependencies
There are too many problems when using the stripped jars. One of them
being that the OatFileAssistant can't open the dex files since the
dex location stored in hte oat file is the system partition one.

Bug: 67345922
Bug: 70934104
Test: make
Change-Id: I3812471330ec1d2e3a435f42a3e975de750004ff
2018-05-16 09:56:58 -07:00
Treehugger Robot d350b16d50 Merge "Fix incorrect renderscript zip deps" 2018-05-16 07:13:01 +00:00
Treehugger Robot 00794848df Merge "Allow modules to override FORCE_AAPT2=true with LOCAL_USE_AAPT2 := false" 2018-05-16 07:10:04 +00:00
Treehugger Robot 7207e41ddd Merge "When building unbundled apps, link to the prebuilt stubs lib" 2018-05-16 02:39:01 +00:00