Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 4388643d authored by Spandan Das's avatar Spandan Das
Browse files

Copy odex files from system_other to data/dalvik-cache on first boot

This is currently not the default behavior. products opt-in by
setting ro.cp_system_other_odex=1 (with cuttlefish being the only
product family in internal main that sets this).

With https://r.android.com/3144182, the odex files of system_ext and
product are now installed in system_other. Since the odex files are not
copied to /data, it triggers dexopt on device, which slows down first
boot performance.

This CL changes makes cp_system_other_odex=1 in
build/make/target/product/runtime_libart.mk. This file is inherited by
internal google products and external OEMs, and ensures that the odex
files are copied from system_other to /data/dalvik-cache on first boot.

Test: lunch oriole-trunk_staging-userdebug && get_build_var
PRODUCT_VENDOR_PROPERTIES # verified that this property is set

Test: In logcat, found the following match for `CalendarGooglePrebuilt`
(a /product app)
```
Successfully loaded /data/dalvik-cache/arm64/product@app@CalendarGooglePrebuilt@CalendarGooglePrebuilt.apk@classes.dex with executable: 0
/data/dalvik-cache/arm64/product@app@CalendarGooglePrebuilt@CalendarGooglePrebuilt.apk@classes.dex is kOatUpToDate with filter verify
Dexopt result: [packageName = com.google.android.calendar] DexContainerFileDexoptResult{dexContainerFile=/product/app/CalendarGooglePrebuilt/CalendarGooglePrebuilt.apk, primaryAbi=true, abi=arm64-v8a, actualCompilerFilter=verify, status=SKIPPED, dex2oatWallTimeMillis=0, dex2oatCpuTimeMillis=0, sizeBytes=0, sizeBeforeBytes=0, extendedStatusFlags=[]}

```
Bug: 349083274
Bug: 343367700

Change-Id: I42eda6742adcce7caccb1f2302578c01df8a24fd
parent 0857a910
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment