Add and push profiles for apps that are not preopted. This will be
used to enable speed-profile during first boot if required.
Also add missing handling to have profiles properly named for
compressed APKs.
Test: make and flash
Bug: 38032017
Bug: 64503246
Change-Id: Ie1fbb5ed5a5d7e1e0be05f62aff1f4881a3bd1be
The property is PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK. If specified,
this preopts the APK with the default compile filter (quicken).
This will be used to quicken preopt of gmscore dynamite modules when
preopting is disabled. This fixes a possible RAM regression caused
by running out of the APK.
Bug: 65601274
Test: make and flash
Change-Id: Ibf0fa73ee7fafd9735e587baf19c4950a7da817a
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS will be used to specify overlays
to be excluded from enforcing RRO.
The excluded overlays will be applied into the original package.
Bug: 63600240
Bug: 65001751
Test: succeeded building with
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := \
vendor/google/google_overlay/static_only \
vendor/google/nexus_overlay/common/static_only
and confirmed that config_webview_packages existed in framework-res.apk
with the overlayed value, but not in framework-res__auto_generated_rro.apk.
Merged-In: I0bfb44fc7726710bb78d9100404bc6dd29d06a73
Change-Id: I0bfb44fc7726710bb78d9100404bc6dd29d06a73
(cherry picked from commit ccee95e6ec)
Update location to framework/base/config instead of frameworks/base
Fixed dex2oat dependency to my_out_boot_image_profile_location
instead of my_out_profile_location.
Bug: 37966211
Test: make and flash
Change-Id: I446f11216cf6342861bbbf56ac5c4da2f36fb755
Use c_m.<level>.xml for matrices which correspond
to released API levels.
Test: manual
Test: build system complains when files are missing
Bug: 63603463
Change-Id: I16bcab9a7548876ec2bedf9c5d70a126ac50b8d5
Renamed WITH_DEXPREOPT_BOOT_IMG_ONLY to
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY and changed the
behavior accordingly.
Preopt system server jars since selinux prevents system server from
loading anything from /data. If we don't do this they will need to
be extracted which is not favorable for RAM usage or performance.
Test: make and flash and look at system server maps
Bug: 65122284
Bug: 62356545
Change-Id: I49f2a23337fdd2bc2e628b683d26a0c135b2aabe
When BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is enabled, the build system
may attempt to create a symlink in TARGET_ROOT_OUT before TARGET_ROOT_OUT
is created. Also make the symbolic link depend on
INSTALLED_DEFAULT_PROP_TARGET so that the symbolic link is properly created
when only bootimage is made.
Bug: 63645797
Test: on non-A/B device, make installclean && make bootimag and then verify
that the symbolic link exists at $(TARGET_ROOT_OUT)/default.prop
Change-Id: Ied7b32abd7a5fd5456c4cb5ff68a56debe6254b7
(cherry picked from 58c1b0426f)
We were previously using LOCAL_BUILT_MODULE, which wouldn't work in the
case that "nostripping" wasn't specified (i.e when we stripped).
The issue is that the built module has its classes.dex entry stripped,
which means that profman can't do anything meaningful with it.
In this change, we use the right set of files for JAVA_LIBRARIES as well
as prebuilt PACKAGES. Fixing apps built from source is a larger task and
has been left for a future change. Depending on ART changes, we might
need to disable stripping for all apps and/or align userdebug and user
builds with each other. This will be tackled separately.
Test: make
Bug: 64896089
Change-Id: I4fd256d187b66763f354cc6001953469c2cd8fbb
cxx_stl_setup is adding libunwind_llvm to the dependency even for
modules from soong. However, since this dependency was already handled
in soong, those modules don't need to go through it again.
Bug: 64815735
Test: BOARD_VNDK_VERSION=current mma -j (under /hardware/libhardware)
Merged-Id: Id6e2547c752ec831aa56a14c0bf4db0a55d51243
Change-Id: Id6e2547c752ec831aa56a14c0bf4db0a55d51243
(cherry picked from commit 425d489cb9)
This change will be submitted with other changes moving adbd from
root/sbin to system/bin. We need to copy it specifically to recovery root.
Previously it was copied by rsync $(TARGET_ROOT_OUT) $(TARGET_RECOVERY_OUT).
Bug: 63910933
Test: normal boot sailfish, checks adb works
Test: recovery boot sailfish, checks adb works
Test: normal boot bullhead, checks adb works
Test: recovery boot bullhead, checks adb works
Change-Id: Ib49605f97a190aec2648cb000d1159b6e15db673
We add a compressed="$extension" attribute to an APK's entry if it's
compressed.
Bug: 64531948
Test: make dist
Change-Id: Ic3f95ed77f0bb16dec825bae944c70ee2d130657
BUG: 38353037
Those libopenjdkjvmti*.so files are needed by profilers.
Those files are shipped on real devices as well.
Change-Id: Iac7dd2844b0f3ea5194dec8732fbaacf53c4bf4a
BUG: 37511975
Test: lunch sdk_gphone_x86-user, make with dist option, unzip
sdk_gphone_x86-emulator-eng.xxxx.zip to system image folder, emulator
can boot
Change-Id: I75b9f0de17fece3dec5ae1662400808af321bd4d
Allows grouping of classes with dirty static fields to be grouped
together in the image to have fewer dirty pages.
Bug: 62554875
Test: mm test-art-host
(cherry picked from commit 865d54caf2)
Change-Id: Id711ad1c2d98b12b0f55a29acca8a96834d69ede
- Prebuilts with LOCAL_MODULE_CLASS == APPS and BUILD_PACKAGE that
define LOCAL_COMPRESSED_MODULE := true will be installed compressed
in the system partition.
- The compression algorithm is simple gzip for now.
In addition :
- Compressed modules are not dex-preopted.
- JNI shared libraries are always embedded inside compressed modules,
they are never installed as separate files on the FS.
Test: Manual
Bug: 63802184
Change-Id: Id12b1ff0b1d68791ec1178783f7e78910e122a33
AUX build environent is volatile and is only instantiated in
a context of AUX-aware module.
link-type checking is happening outside such context, and
is not able to correctly determine AUX build dependencies.
1. Save enough of context in LINK_TYPE variable;
Use AUX-<variant-name> instead of AUX
2. Load correct set of AUX meta build vars before
building link_type rules
Bug: 62060489
Test: make auxiliary
build no longer tries to access "/STATIC_LIBRARIES" path
Change-Id: I9764d4a0740da1c55a6f8429398872fc4362942c
(cherry picked from commit 55ebe631b4)
Change PLATFORM_VERSION.OPD1 to v8.0.0. This is a temporary
change until we get a new KeyMaster that can handle going from
8.0.1 -> 8.0.0. At that point we will change PLATFORM_VERSION
to 8.0.0.
Test: Check: Settings > System > About phone > Android version.
Also verified that update from 8.0.1 to v8.0.0 works (i.e. device
boots and shows new Android Version).
Bug: 64130669
Merged-In: I7894321971c0b696594deb064ebed3f43cf7c8d1
Change-Id: Ibb8fbb123a74196f57f649d0c22f58beefaf6d06
Use --class-loader-context to pass the context to dex2oat instead of using
runtime arguments.
In preparation to simplify dex2oat handling of contexts.
Bug: 37966546
Bug: 38138251
Test: make & check that the prebuilds have '&' as their classpath key
(cherry picked from commit 965f8aec4c)
Change-Id: Id027e1fcbd69ac5e338214a03ae44222988544f3
AVB should be disabled for Treble VTS. Otherwise, OEM devices cannot boot
the generic system.img provided by Google.
Bug: 64055917
Test: Compiles and boot a device with the vbmeta.img
Change-Id: I0eaae7beebc8b901d0b4766c2cdc34a27ad02b59
This reverts commit 9b99ddc8a5.
and add syste-qemu.img to the dependency list of sdk target
BUG: 64235252
Test: build sdk target successfully
(cherry picked from commit f0d50bbef0)
Change-Id: I813233c7c3f06eb1eca18aad5ea890a55814eb1b
- Partners building java test using legacy test API needs it.
bug: 64121067
Test: make platform-java and check if library is in platform.zip
Change-Id: If831f8cc89a386ccb51f46935667057efb3cdf91
Soong now adds .vendor suffix only for modules having both core and
vendor variants. Furthermore, names listed in LOCAL_SHARED_LIBRARIES
are correct (= have .vendor suffix when the dependent lib has variants).
Therefore, make does not need to force add .vendor suffix when parsing
modules from soong.
Bug: 37480243
Test: BOARD_VNDK_VERSION=current m -j <name> is successful, where <name>
is one of the vendor-only libraries in Soong. (i.e.
android.hardware.renderscript@1.0-impl)
Test: m -j does not break anything
Merged-In: Id8d0d01313c63496a10de4cd3ddb9f75180efef6
Change-Id: Id8d0d01313c63496a10de4cd3ddb9f75180efef6
(cherry picked from commit a9c4c71756)
When BOARD_VNDK_VERSION is set, native libs that were labeled as
native:platform are now divided into native:platform and native:vendor
sets depending on their install locations. In order to keep the existing
apks to use all the libraries that they have been using, native:vendor
is also added to the allowed types for apks.
However, in the future when we have vendor SDK and enforce all vendor
apks to use the vendor SDK, we will disallow native:vendor to
app:platform and native:vendor will be allowed only to those vendor apks
(probably labeled as app:vendor).
Bug: 33241851
Test: BOARD_VNDK_VERSION=current m <a vendor lib using vendor jni>
(e.g. ModemDiagnosticSystem in internal master)
Change-Id: I6ad0967ab17f07be9657b58c20fa9b96bd1a342b
Merged-In: I6ad0967ab17f07be9657b58c20fa9b96bd1a342b
When BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is enabled, the build system
may attempt to create a symlink in TARGET_ROOT_OUT before TARGET_ROOT_OUT
is created. Also make the symbolic link depend on
INSTALLED_DEFAULT_PROP_TARGET so that the symbolic link is properly created
when only bootimage is made.
Bug: 63645797
Test: on non-A/B device, make installclean && make bootimag and then verify
that the symbolic link exists at $(TARGET_ROOT_OUT)/default.prop
Change-Id: Id12916b465ff052e2594b79f28274be20ca53af7
Merged-In: I1a9a2ba49c8252afc13ced3dea71253afbd3091e