因此我们在做odex优化的时候,都会关闭DONT_DEXPREOPT_PREBUILTS,然后重新给我们预置的App添加 LOCAL_DEX_PREOPT :=false 让它们不进行预编译,这样也就能节省一些不必要的空间消耗。同时因为关闭了DONT_DEXPREOPT_PREBUILTS,很多可以随ROM升级的系统App也就进行了预编译,因此开机速度就有了明显的提高。 3、LOCAL_DE...
因此我们在做odex优化的时候,都会关闭DONT_DEXPREOPT_PREBUILTS,然后重新给我们预置的App添加 LOCAL_DEX_PREOPT :=false 让它们不进行预编译,这样也就能节省一些不必要的空间消耗。同时因为关闭了DONT_DEXPREOPT_PREBUILTS,很多可以随ROM升级的系统App也就进行了预编译,因此开机速度就有了明显的提高。 3、LOCAL_DE...
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ** LOCAL_MODULE_TAGS := optional LOCAL_PRIVILEGED_MODULE := true LOCAL_DEX_PREOPT := false #第三方apk LOCAL_SRC_FILES := ./**.apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX...
ifneq (nostripping,$(LOCAL_DEX_PREOPT)) $(call dexpreopt-remove-classes.dex,$@) endif 这两个逻辑的运行都在/build/core/dex_preopt.mk中 DEXPREOPT_BOOT_ODEXS := $(foreach b,$(DEXPREOPT_BOOT_JARS_MODULES),\ $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(b).odex) 生成那些jar包的.odex。
LOCAL_DEX_PREOPT := nostripping 2./device/rockchip/rk3399/BoardConfig.mk, DEX_PREOPT_DEFAULT := nostripping 5、隐患 我们上面的修改保证了可以在apk的uid相同的情况下使用不同的Lib位库,但是32位的apk理论上运行的速度肯定没有64位的速度快,CPU跟外设的交互有地址总线,数据总线,和控制总线,64位的cpu寻...
LOCAL_DEX_PREOPT := true endif endif endif endif 实际编译时对生成apk的地方: # Define the rule to build the actual package. $(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN) ifeq ($(LOCAL_DEX_PREOPT),true) # Make sure the boot jars get dexpreopt-ed first ...
设置LOCAL_DEX_PREOPT控制App是否odex优化,下面是实例以及日志 1.1 模块编译方法 mmm qcom/opensource/bluetooth/hidtestapp 1.2 Android.mk LOCAL_PATH:=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS:=optional src_dirs:=src/org/codeaurora/bluetooth/hidtestapp \// 源码位置LOCAL_SRC_FILES:=\ $...
dex_preopt:{ enabled:true, }, apk_cert_permissions:[ "android.permission.ACCESS_FINE_LOCATION", "android.permission.RECORD_AUDIO", "android.permission.READ_CONTACTS", ], certificates:["platform"], resource_files:["res/**/*"], enable_proguard:true, ...
并且对比dalvik,ART具有更严格的安装时验证。在安装时,ART 使用设备自带的 dex2oat 工具来编译应用。此实用工具接受 DEX 文件作为输入,并为目标设备生成经过编译的应用可执行文件。该工具应能够顺利编译所有有效的 DEX 文件。但是,一些后处理工具会生成无效文件,Dalvik 可以接受这些文件,但 ART 无法编译这些文件。
include $(BUILD_PREBUILT) 解释: 1、LOCAL_PATH := $(call my-dir) 每个Android.mk 文件必须以定义 LOCAL_PATH 为开始,它用于在开发 tree 中查找源文件。 2、include $(CLEAR_VARS) CLEAR_VARS 变量由 Build System 提供,并指向一个指定的 GNU Makefile,由它负责清理很多LOCAL_xxx。