AbOtaPropertyFiles writes 'ota-property-files' into package metadata.
Comparing to StreamingPropertyFiles, AbOtaPropertyFiles additionally
writes a token of 'payload-metadata.bin' for a virtual entry that's head
of the 'payload.bin'. This entry can be used by the system updater to
verify if a payload is applicable to the underlying device.
AbOtaPropertyFiles intends to replace StreamingPropertyFiles, as it
covers all the info of the latter. We keep them both in P, and will
remove the latter in later release.
Bug: 74210298
Test: python -m unittest test_ota_from_target_files
Test: Generate full and incremental A/B OTAs. Check the property-files
in the METADATA entry.
Change-Id: If5872c8ee0a97a8a95b07d4c69b463aa3fe1b9b9
(cherry picked from commit b63046750c)
And move StreamingPropertyFiles as its subclass. We will need similar
PropertyFiles instance for non-A/B OTA as well (to expose the
offset/size for the METADATA entry).
Bug: 74210298
Test: python -m unittest test_ota_from_target_files
Test: Generate an A/B OTA. Check the generated property-files string.
Test: pylint --rcfile=pylintrc \
ota_from_target_files.py \
test_ota_from_target_files.py
Change-Id: If90d97f0b330749fd8a6cde2ed9d0d6cd6ea60a8
(cherry picked from commit 432f374a1701909ca324f8b047666614684568c0)
Not all native tests have the "tests" tag so adjust the logic to be:
NATIVE_TESTS||NATIVE_BENCHMARKS||(APPS&&tags==tests)
Bug: 74339384
Test: Rebuilt module-info.json, verified native tests now have
their suite set to null-suite and have auto_test_config=True
Double checked a frameworks App unittest as well.
Change-Id: Idea00adcebfc1a78b0c6d8ade40feddb1e90ed83
Merged-In: Idea00adcebfc1a78b0c6d8ade40feddb1e90ed83
This CL breaks down ComputeStreamingMetadata() into mutiple member
functions of StreamingPropertyFiles class, which correspond to the
two-pass logic when generating streaming property files (aka streaming
metadata).
StreamingPropertyFiles.Compute() does the work for the first pass, by
putting placeholders before doing initial signing. Finalize()
corresponds to the second pass, where the placeholders get replaced with
actual data. Verify() can be optionally called to assert the correctness
of the work.
The separation between Compute() and Finalize() is to allow having
multiple StreamingPropertyFiles instances (in coming up CLs). This way
we can call Compute() multiple times for each instance, followed by only
one call to SignOutput(). And similarly for Finalize().
Bug: 74210298
Test: Generate an A/B OTA package. Check the METADATA entry.
Test: python -m unittest test_ota_from_target_files
Change-Id: I45be0372a4863c4405e6d8e20bcb9ccdc29e7e11
(cherry picked from commit ae5e4c30fe)
This reverts commit 86a596c711.
Reverting as that commit breaks ART tests' results (see
b/73804944).
(cherry picked from commit 209b96e152)
Test: m test-art-host
Bug: 73804944
Bug: 26275726
Change-Id: I06af4b170d845d3e55e044c28ec22d4b3ca3dede
All apps in master comply with this now, but new offenders
are being added daily. This will ensure compliance going
forward.
Test: build/soong/build_test.bash
Bug: 73535841
Exempt-From-Owner-Approval: cp from master
Change-Id: If28049750a9787bf455f72402e624dbddf842253
Merged-In: Id3fbb502d26d91b64480fec74e241ba77fa0faff
I plan on turning the error on for APPS in AOSP soon, and in preparation for
that I'm introducing a finer granularity of warning/error control.
Also add an almost-empty whitelist, which will likely need to be expanded
in the future.
Bug: 73535841
Test: make
Exempt-From-Owner-Approval: cp from aosp and master
Change-Id: I2fc6700a504b7af50aa7bde727047bc56b167937
Merged-In: I13ebe3ead2d19aa797bcc39a7bbccdb55b9c7d1c
Merged-In: I87c968b2e8314300b155483bbb7ce5e169fe8f0c
Pre-extracting the zip files are more sustainable for git, so that
objects can be shared if unchanged, rather than the 900MB zip file
changing on every build.
This also has the advantage that we could put an Android.bp file inside
the PDK, and Soong would just pick it up.
Bug: 68767391
Test: Build mini_arm64 PDK with platform.zip
Test: Build mini_arm64 PDK with extracted zip file
Change-Id: I16db030a731aea55b69c1d6e2260dbd70b167544
Merged-In: I16db030a731aea55b69c1d6e2260dbd70b167544
(cherry picked from commit 0663f685c2)
Modules from Soong do not have dependency specified (via
LOCAL_JAVA_LIBRARIES). So, link-type check 'from' them doesn't make
sense. Resetting my_warn_types and my_allowed_types
Bug: 69899800
Test: m -j checkbuild on aosp_walleye, aosp_sailfish
Test: build/soong/build_test.bash --dist
Merged-In: I2a409e64f388bd8cb9336be589bf6af33e48a6f4
Change-Id: I2a409e64f388bd8cb9336be589bf6af33e48a6f4
(cherry picked from commit 98a4f52c28)
This reverts commit 49b67af95e.
Reason for revert: Missing a bunch of fixes from master.
Test: make
Bug: 73535841
Exempt-From-Owner-Approval: fixes the build
Change-Id: Ide0998bad5876aa409d1bb0f8331e6b097c3c8a2
Merged-In: Id3fbb502d26d91b64480fec74e241ba77fa0faff
The file was broken due to earlier touches:
- Missing 'import zipfile';
- Mismatching arguments when calling GetSparseImage().
Bug: 73996151
Test: Run validate_target_files.py with a walleye-target_files.zip.
Test: pylint --rcfile=pylintrc validate_target_files.py
Change-Id: I3692bd51fb27a3da698e06b75155e84502549f66
(cherry picked from commit c63626b4a3)
All apps in master comply with this now, but new offenders
are being added daily. This will ensure compliance going
forward.
Test: vendor/google/build/build_test.bash --dist
Bug: 73535841
Exempt-From-Owner-Approval: reviewed in master/aosp, but this blocks aosp
Change-Id: Id3fbb502d26d91b64480fec74e241ba77fa0faff
Merged-In: Id3fbb502d26d91b64480fec74e241ba77fa0faff
This time around we're really deprecating the 32-bit
binder interface (v7), even for 32-bit devices.
Upgrading devices can keep using it.
Bug: 69775513
Test: manual makefile prodding
Change-Id: I3850418ca267e72593f5f12b940e5382b29b024a
When BOARD_VNDK_VERSION is set, the required VNDK libs for vendor
modules are installed in vndk directory.
The default namespace configuration cannot reach those directories
and fails to link the required libs.
By installing ld.config.txt, the namespace configurations for each
build target will be selected automatically. This does not affect
the devices that requires default namespace configurations.
Bug: 74242105
Test: lunch sdk_gwear_x86-userdebug; make -j; emulator
Change-Id: Ib1097846fcd9c123184b13b6fbcfcb9a72ca3d97
Merged-In: Ib1097846fcd9c123184b13b6fbcfcb9a72ca3d97
(cherry picked from commit 61c412ed05)
This prevents cases where system_server is running in interpreter
only mode.
Removed unused flag in product.mk
Bug: 74209329
Test: WITH_DEXPREOPT=false make
Change-Id: I4ab3afed95a5baf77d0cd089dafaa18bcc1913e5
It has been allowed that a java module built with Android SDK or System
SDK to link against other java module built with broader API surface.
For example, an app that is building with SDK (LOCAL_SDK_VERSION :=
current or <number>) can link libs like telephony-common or bouncycastle
which are built without SDK but in fact exposing private APIs.
From now on, this is no longer allowed because it prevents the app from
being unbundled. In general, a Java module A cannot be linked to Java
module B if B is built with broader API surface than A.
Bug: 69899800
Test: m -j checkbuild on walleye, sailfish, and crosshatch
Test: m -j ANDROID_BUILDSPEC=vendor/google/build/app_build_spec.mk
Test: ./vendor/google/build/build_test.bash --dist
Change-Id: Ibfdb1a6777f4e0606927d834d56f808639eb91f0
And add unittests for ComputeStreamingMetadata().
This prepares for the changes that add additional property-files (for
both of A/B and non-A/B).
Bug: 74210298
Bug: 72751683
Test: python -m unittest test_ota_from_target_files
Test: Generate A/B OTA package. Check the ota-streaming-property-files
in the METADATA entry.
Change-Id: Ib4b069f61c2c06c035c0cff73a55112f3936b969
(cherry picked from commit f5110498c0)
Since API 27, PackageManager would not install random APKs that reside
in /data/app folder. They must be explicitly installed by "adb install"
instead.
BUG: 72750759
Change-Id: Ibc8e4e55e020439f5cf950d61fb7a815aa12fa6f
Signed-off-by: Weilun Du <wdu@google.com>