Android DEX preopt prebuilt APK

在AOSP编译过程中,原始设置下,预构建的APK不会进行preopt处理,即不将.class文件转换为.odex文件,这可能导致APK安装和代码执行速度较慢。通过修改core/prebuilt.mk的补丁,可以实现对预构建APK的preopt操作,以提升Dalvik环境下的安装和执行效率。
摘要由CSDN通过智能技术生成

AOSP编译APK的时候,默认情况下,对于prebuilt的APK,没有preopt。preopt的过程是把APK里面的.class分离出来,成为一个单独的.odex,加快Dalvik下APK的安装以及代码的执行速度。

下面对于core/prebuilt.mk的补丁可以实现对prebuilt的APK执行preopt的功能。

--- a/core/prebuilt.mk
+++ b/core/prebuilt.mk
@@ -16,6 +16,16 @@
 $(error dont use LOCAL_PREBUILT_JAVA_LIBRARIES anymore LOCAL_PATH=$(LOCAL_PATH))
 endif

+ifneq ($(filter APPS,$(LOCAL_MODULE_CLASS)),)
+ifeq (true,$(WITH_DEXPREOPT))
+ifeq (,$(TARGET_BUILD_APPS))
+ifndef LOCAL_DEX_PREOPT
+LOCAL_DEX_PREOPT := true
+endif
+endif
+endif
+endif
+
 include $(BUILD_SYSTEM)/base_rules.mk

 # Deal with the OSX library timestamp issue when installing

@@ -30,8 +40,20 @@

 # Ensure that prebuilt .apks have been aligned.
 ifneq ($(filter APPS,$(LOCAL_MODULE_CLA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值