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
Loading
Please register or sign in to comment