Commit Graph

49129 Commits

Author SHA1 Message Date
Colin Cross 85f2b4a680 Don't set LOCAL_SDK_RES_VERSION to current if LOCAL_SDK_VERSION is core_current
Removing AAPT1 support removed the distinction between unset
LOCAL_USE_AAPT2 and LOCAL_USE_AAPT2 := true, which enabled the
LCOAL_SDK_RES_VERSION setting for some modules that had previously
bypassed it because of LOCAL_USE_AAPT2 := true.  The workaround
was too broad, it shouldn't apply if LOCAL_SDK_VERSION is already
set to *current.  In particular, if it is core_current to disable
using framework-res.apk completely, then LOCAL_SDK_RES_VERSION
must not be set to current.

Fixes: 130782219
Test: atest android.server.wm.PrereleaseSdkTest
Change-Id: I250d65b1ef66e591f2c9779580df4cc3f0f2b028
2019-04-18 11:14:58 -07:00
Colin Cross e6210f6eb2 Remove AAPT1 support
AAPT2 is used everywhere now, remove support for AAPT1.  Also
removes dpi_specific_apk.mk, it was never updated to use AAPT2
and has been generating bad APKs (resource ID mismatch between
the dex files and the resources) since AAPT2 was made the default
in May 2018 (I9b67fd2a9b3234798b2aac879b5242c2097b3863).

Bug: 80450981
Test: m checkbuild
Change-Id: I2ff768897360ff866dbae5562455bab22be270f7
Merged-In: I2ff768897360ff866dbae5562455bab22be270f7
2019-04-17 16:50:30 -07:00
Tom Cherry c9bb097bee Merge "Remove TARGET_ROOT_OUT_SBIN / TARGET_ROOT_OUT_SBIN_UNSTRIPPED" 2019-04-17 23:26:13 +00:00
Daniel Norman 324d553c7c Merge changes from topic "merge_target_files_new_flags"
* changes:
  Adds --output-ota flag to enable building the OTA package.
  Adds --output-super-empty flag to enable building super_empty.img.
  Adds output-dir and output-item-list for copying only certain files.
2019-04-17 21:14:35 +00:00
Treehugger Robot 843f666adf Merge "Exclude lib/arm(64) from the library absence check." 2019-04-17 18:16:35 +00:00
Tom Cherry 6b28af30fb Remove TARGET_ROOT_OUT_SBIN / TARGET_ROOT_OUT_SBIN_UNSTRIPPED
/sbin was traditionally used for static binaries on the ramdisk for
Android, but now everything is a shared binary, so this directory is
empty and we do not want to encourage creation of new libraries in
this directory.

Bug: 73660730
Test: build
Change-Id: Ia82d892adfffb6fa325d0c570ae7999e7bb28dc2
2019-04-17 11:12:32 -07:00
Daniel Norman 3b64ce1437 Adds --output-ota flag to enable building the OTA package.
This simplifies the use case for mixed build users. Instead of having to
remember to call ota_from_target_files.py after this script, they can
use this flag to automatically create the OTA package.

Bug: 129976345
Test: Ran merge_target_files.py using --output-ota and inspected the
resulting zip.

Change-Id: Icc95943c24b8f83b3221e845a7d69a34c1edb4fc
2019-04-17 10:28:57 -07:00
Daniel Norman f031825560 Adds --output-super-empty flag to enable building super_empty.img.
Any mixed build that uses dynamic partitions will require a
super_empty.img image. This image must be created from the merged
misc_info.txt file, so adding this functionality here simplifies
the creation of this image for users (versus having to call
build_super_image.py manually after calling merge_target_files.py).

Bug: 129976345
Test: Ran merge_target_files.py on a dynamic partition enabled build
using the new --output-super-empty flag.

Change-Id: I73901f363d73c9fae1af1579faa2a908369dbbec
2019-04-17 10:22:11 -07:00
Daniel Norman fdb38817ea Adds output-dir and output-item-list for copying only certain files.
This provides the ability to run merge_target_files without the end goal
of a target files zip. This is useful for users that only want the IMAGES
folder, for example.

Bug: 130304869
Test: python -m unittest test_merge_target_files
Change-Id: If0412b8e1eb85fe09d7b689fd7f56ce84067faea
2019-04-17 10:17:50 -07:00
Bill Peckham 953ec4cd70 Merge "Optimize build for PRODUCT_BUILD_SYSTEM_IMAGE := false case." 2019-04-17 17:11:10 +00:00
Treehugger Robot bbfcef3fb7 Merge "Always use aapt2 for prebuilt appcompat" 2019-04-17 01:20:13 +00:00
Bill Peckham d52fd9b016 Optimize build for PRODUCT_BUILD_SYSTEM_IMAGE := false case.
When PRODUCT_BUILD_SYSTEM_IMAGE is false, avoid building artifacts and
intermediates that will not be used. This speeds up the build for these cases.

Bug: 123427297
Test: No change when building system image, smaller build when not
Change-Id: I438e4794af5376c897ffcc1d795a1e114dccd351
2019-04-16 16:42:26 -07:00
Colin Cross 727ef10366 Merge "Add default proguard flags from guava" 2019-04-16 23:14:12 +00:00
Colin Cross a0d89b994f Always use aapt2 for prebuilt appcompat
Running appcompat is missing a dependency on aapt/aapt2.  There
is no need to switch between aapt and aapt2, so always use aapt2
and add the missing dependency.

Fixes: 130575935
Test: treehugger
Change-Id: If32c03410fbdb3945bf20f7405de13dc8cd83038
2019-04-16 22:40:25 +00:00
Martin Stjernholm 5c5d59ba8f Exclude lib/arm(64) from the library absence check.
Test: m systemimage on cf_x86_phone-userdebug (in internal and AOSP).
Test: Check that the generated find command works on MacOS
Bug: 124293228
Change-Id: I5dfb534aa2bc24a8d0a75fde31b139a6ed86e6a5
2019-04-16 16:21:31 +01:00
Tao Bao 56215ba930 Merge "releasetools: Enable a few tests in OtaFromTargetFilesTest." 2019-04-16 14:15:28 +00:00
Treehugger Robot aa808134a2 Merge "Revert "Add the entire boot image to boot.zip"" 2019-04-16 11:45:21 +00:00
Cyan Hsieh 4d5f5ff943 Revert "Add the entire boot image to boot.zip"
This reverts commit c0ed5e7c56.

Reason for revert: this patch cause build breakage on aosp-master-throttled (aosp_qemu_trusty-userdebug)

Bug: 130376456
Change-Id: Iab03d21219674691bd8bf6b2e5004508ebb862b9
2019-04-16 09:10:11 +00:00
Colin Cross e75840fe4d Add default proguard flags from guava
Guava 27.1 causes some warnings in R8, silence them.

Bug: 130306229
Test: m checkbuild
Change-Id: Ia9948d597538a16c5b7ab26a2e41eebde52e7427
Merged-In: Ia9948d597538a16c5b7ab26a2e41eebde52e7427
Exempt-From-Owner-Approval: cherry pick
(cherry picked from commit b4917146aa)
2019-04-15 21:44:50 -07:00
Treehugger Robot fcafa2de6e Merge "Add the entire boot image to boot.zip" 2019-04-16 03:10:34 +00:00
Calin Juravle c0ed5e7c56 Add the entire boot image to boot.zip
Add all the boot image files necessary of offline inspection and
compilation in a single zip file (boot.zip).

This replaces the previous boot_profiles_jars.zip which contained only the
jar files.

Bug: 130376456
Test: m dist
Change-Id: I7e711369e7d56630c168c01df60a8c2672d60927
2019-04-16 01:07:52 +00:00
David Brazdil 20bc556e2e Merge "Enable core platform API warnings on non-user builds" 2019-04-15 20:59:41 +00:00
David Brazdil f5b3fc854f Enable core platform API warnings on non-user builds
Core platform API violation reporting is disabled by default and can be
enabled by setting the persist.debug.dalvik.vm.core_platform_api_policy
property. Set it to "just-warn" for non-user builds and leave disabled
on user builds.

Test: builds, boots
Bug: 125701194
Change-Id: I2f4be42373de9fdbc71c3178de6d34e07809f13a
2019-04-15 16:12:59 +01:00
Tao Bao 69909c96ba releasetools: Enable a few tests in OtaFromTargetFilesTest.
They used to be disabled due to the assertion of search_path in setUp()
function, which is not a prerequisite for most of the tests.

Bug: 112080715
Test: `atest releasetools_test`
Test: TreeHugger
Change-Id: I3cbaf42aa09dba0b87a64e11d97de9b3f7af7a47
2019-04-15 07:33:32 -07:00
Isaac Chen d18be7f8db Merge "Change emulator system image to unsparse format" 2019-04-15 11:57:49 +00:00
Tao Bao 2bfc94ebc6 Merge "relesetools: Enable releasetools_test in presubmit." 2019-04-14 15:09:19 +00:00
Treehugger Robot 7ef6d0d39e Merge "Build: Include lock-inversion agent in debug builds" 2019-04-13 16:08:58 +00:00
vichang b23062899c Merge "Remove libicu*.so from /system" 2019-04-13 09:34:17 +00:00
Tao Bao 2bb1380ee5 Merge "relesetools: Support running all the unittests with atest." 2019-04-13 01:50:09 +00:00
Treehugger Robot c7b0df0295 Merge "FileImage: make thread-safe" 2019-04-13 01:15:16 +00:00
Yifan Hong 55988c4677 FileImage: make thread-safe
FileImage needs to be thread-safe because multiple
threads gets data from it when an incremental OTA
package is created.

Test: apply incremental OTA on cuttlefish
Bug: 113175337
Change-Id: I31637fce0fbd66f3fa6c5c478da09bae65a52229
2019-04-12 15:38:48 -07:00
Andreas Gampe 306dbcc49b Build: Include lock-inversion agent in debug builds
Bug: 124744938
Test: m
Change-Id: Ieeaab84d2bc3db73dd8a6b19c05e4f39d90f22e0
2019-04-12 15:33:01 -07:00
Tao Bao 82490d3de1 relesetools: Enable releasetools_test in presubmit.
About half of the testcases rely on external tools (i.e. the ones in
`otatools.zip`, which are external to releasetools module, but still
built by Android). It's WAI as releasetools scripts are mostly for
gluing purpose.

However, the current support in Soong doesn't allow packing the helper
modules as part of the built releasetools_test. This CL adds a decorator
that allows declaring external dependencies in testcases, which will be
skipped while running in presubmit. It doesn't affect local invocation
of `atest releasetools_test`.

Fixes: 112080715
Test: `atest releasetools_test`
Test: TreeHugger; check that releasetools_test is invoked (and test
      passes).
Change-Id: I8fdeb6549023cf5ddeb79d610c7c37cf9f13d3cc
2019-04-12 15:26:35 -07:00
Tao Bao 30e31142ce relesetools: Support running all the unittests with atest.
All the unittests will be built into releasetools_test. One can run the
tests with `atest releasetools_test` or the traditional way
`test_utils.py`. The atest way is recommended, which additionally builds
the required tools.

With the current support in Soong, we can't pack the built tools into
releasetools_test yet. So running `releasetools_test` alone in clound
would fail. Follow-up CLs will address the issue in order to deploy the
tests with TEST_MAPPING.

Bug: 112080715
Test: `atest releasetools_test`
Change-Id: Ica95517a5ab326f4e58fc57c6c2c276cfe882f3c
2019-04-12 15:26:32 -07:00
Victor Chang c164b8ef13 Remove libicu*.so from /system
Bug: 120659668
Test: CtsJniTestCases
Change-Id: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616
2019-04-12 20:01:43 +01:00
Yifan Hong fc6948b588 Merge "Allow generating OTA package from non-sparse images." 2019-04-12 17:21:46 +00:00
Anton Hansson 826d0d1f9e Merge "Add libdrm to mainline_system" 2019-04-12 15:16:28 +00:00
Anton Hansson 6f964f579d Add libdrm to mainline_system
Used by things on /product.

Bug: 130023865
Test: make
Change-Id: I564c6d823ac7e04d6a41dfd1ceb7074755b0bfd8
Merged-In: I564c6d823ac7e04d6a41dfd1ceb7074755b0bfd8
2019-04-12 11:55:20 +01:00
Isaac Chen 90bfda1cc4 Change emulator system image to unsparse format
Currently, emulator system image is the non-legasy GSI, which is in sparse
format. Several internal clients don't support sparse format, and other
internal/external clients usually support both. The reason to choose sparse
format for GSI may not be valid any more. See bug for detail.

Bug: 130341962
Test: Checked the header of system.img to see if it's unsparse.
      Boot emulator aosp_x86 successfully.
      Boot mixed GSI and CF x86 successfully.

Change-Id: I839f49809429227607b2e876a4a3628df43a97b4
2019-04-12 13:16:34 +08:00
Treehugger Robot 74a2572b99 Merge "Convert oemaids_headers / passwd / group to Soong" 2019-04-11 23:36:09 +00:00
Yifan Hong 8a66a71b06 Allow generating OTA package from non-sparse images.
Test: build OTA package in cuttlefish

Bug: 120041578
Change-Id: I246c38e08376c837b7f126aa19cb8c1d73ed1e26
2019-04-11 14:38:21 -07:00
Treehugger Robot 2eb9692618 Merge "docker: update sha256sum for repo version 1.25" 2019-04-11 19:21:12 +00:00
Tao Bao 33b8923ded Merge "releasetools: Remove the name restriction in common.GetSparseImage." 2019-04-11 17:51:43 +00:00
Tao Bao f1a8e74991 Merge "Allow building generic OTA packages." 2019-04-11 15:51:46 +00:00
Pavel Salomatov 4a7f6daa85 docker: update sha256sum for repo version 1.25
Change-Id: Iaec4b2429c61aa2d804e56a88cf66ae543a29805
2019-04-11 13:25:33 +03:00
Dan Willemsen d32e6d1314 Convert oemaids_headers / passwd / group to Soong
Bug: 118089258
Test: m oemaids_header_gen oemaids_headers passwd group
Change-Id: Ie3b92a499b44391e0692da5d9ad067089a62aabb
2019-04-10 20:46:33 -07:00
Treehugger Robot 20f6491dc6 Merge "Split ALL_MODULES.*.REQUIRED and friends between target/host" 2019-04-10 23:01:16 +00:00
Tao Bao 9be20c7650 Allow building generic OTA packages.
We already have targets that build generic system images, which can be
applied (flashed) onto matching devices to replace their target-specific
system images. This CL adds PRODUCT_BUILD_GENERIC_OTA_PACKAGE that
allows building generic OTA packages to be installed over-the-air.

Since A/B and non-A/B OTAs have different package formats, currently the
support is limited to targets that use A/B OTAs. Note that this CL only
allows _building_ the package - will need additional changes for the
actual package install as well as targeting matching devices.

Bug: 122851610
Test: `m otapackage` on a target that sets
      `PRODUCT_BUILD_GENERIC_OTA_PACKAGE := true`.
Test: TreeHugger
Change-Id: If6fd2da15d24c5aaee09618efe94514c6d83292d
2019-04-10 14:29:50 -07:00
Dan Willemsen 8e96a794ac Split ALL_MODULES.*.REQUIRED and friends between target/host
So that we actually respect different LOCAL_REQUIRED_MODULES for the
host and device versions instead of unioning them. That got particularly
problematic when LOCAL_SHARED_LIBRARIES is implicitly added to
LOCAL_REQUIRED_MODULES. We also used to walk through device-only modules
when filling out the list of required modules, which triggered even more
extra installations.

This also changes the requirements for PRODUCT_HOST_PACKAGES so that it
no longer accepts target-only phony modules (since we can now
differentiate them). They were all removed in previous patches.

Test: treehugger; diff resulting builds
Test: diff list of product_target_FILES and product_host_FILES
Change-Id: I2ed8950320d31f5693323ad8cef6ec5b6780b7d4
2019-04-10 13:22:23 -07:00
Treehugger Robot d72873dc41 Merge "Reland "Only assert-max-image-size for static partitions."" 2019-04-10 20:09:00 +00:00