内容
[DESCRIPTION]
L版本预编译提取apk的odex文件,如何修改?
1 L版本预编译提取apk的odex文件,请在BoardConfig.mk中定义:
WITH_DEXPREOPT := true
打开这个宏之后,无论是有源码还是无源码的预置apk预编译时都会提取odex文件。
(如有发现user版本未提取odex,请检查device.mk文件配置:
ifeq ($(TARGET_BUILD_VARIANT),user)
WITH_DEXPREOPT := true
DONT_DEXPREOPT_PREBUILTS := true //此句注释掉
endif
)
对于64bit的芯片,若apk只有32bit的lib或者只能作为32bit运行,请在预置apk时在android.mk中添加下边的TAG标记此apk为32bit:
LOCAL_MULTILIB :=32
2 若需要在预编译时跳过一些apk的odex提取,可以使用下边的方法:
\build\core\dex_preopt_odex_install.mk中添加:
ifeq ($(LOCAL_MODULE),helloworld)
LOCAL_DEX_PREOPT:=
endif
build_odex:=
installed_odex:=
....
Ifeq包起来的部分为需要添加的,helloworld可替换为需要跳过提取odex的apk的LOCAL_MODULE名字
注意:
打开WITH_DEXPREOPT 的后,预置太多apk,会导致system.img 过大,而编译不过。遇到这种情况请调大system.img的大小限制。
|