Do odex for prebuilt apk in kitkat
2015-10-16 15:29
363 查看
diff --git a/core/prebuilt.mk b/core/prebuilt.mk index 3e73c8d..e740fae 100644 --- a/core/prebuilt.mk +++ b/core/prebuilt.mk @@ -5,6 +5,20 @@ ## None. ## ########################################################### +ifneq (true,$(WITH_DEXPREOPT)) + LOCAL_DEX_PREOPT := +else + ifndef LOCAL_DEX_PREOPT +LOCAL_DEX_PREOPT := $(DEX_PREOPT_DEFAULT) +endif +endif +ifeq (false,$(LOCAL_DEX_PREOPT)) + LOCAL_DEX_PREOPT := +endif +ifeq ($(filter APPS,$(LOCAL_MODULE_CLASS)),) + LOCAL_DEX_PREOPT := +endif +$(info prebuild $(LOCAL_MODULE)==> $(LOCAL_DEX_PREOPT)) ifneq ($(LOCAL_PREBUILT_LIBS),) $(error dont use LOCAL_PREBUILT_LIBS anymore LOCAL_PATH=$(LOCAL_PATH)) @@ -27,6 +41,7 @@ endif ifdef LOCAL_IS_HOST_MODULE my_prefix := HOST_ + LOCAL_DEX_PREOPT := else my_prefix := TARGET_ endif @@ -145,17 +160,42 @@ else endif ifneq ($(filter APPS,$(LOCAL_MODULE_CLASS)),) +ifdef LOCAL_DEX_PREOPT + $(built_module): $(DEXPREOPT_BOOT_ODEXS) | $(DEXPREOPT) $(DEXOPT) +endif ifeq ($(LOCAL_CERTIFICATE),PRESIGNED) # Ensure that presigned .apks have been aligned. -$(built_module) : $(my_prebuilt_src_file) | $(ZIPALIGN) - $(transform-prebuilt-to-target-with-zipalign) +$(built_module) : $(my_prebuilt_src_file) | $(ACP) $(ZIPALIGN) + #$(transform-prebuilt-to-target-with-zipalign) + $(transform-prebuilt-to-target) +ifdef LOCAL_DEX_PREOPT + $(hide) rm -f $(patsubst %.apk,%.odex,$@) + $(call dexpreopt-one-file,$@,$(patsubst %.apk,%.odex,$@)) + ifneq (nostripping,$(LOCAL_DEX_PREOPT)) + $(call dexpreopt-remove-classes.dex,$@) + endif +endif + $(align-package) else # Sign and align non-presigned .apks. $(built_module) : $(my_prebuilt_src_file) | $(ACP) $(ZIPALIGN) $(SIGNAPK_JAR) $(transform-prebuilt-to-target) $(sign-package) +#add below +ifdef LOCAL_DEX_PREOPT + $(hide) rm -f $(patsubst %.apk,%.odex,$@) + $(call dexpreopt-one-file,$@,$(patsubst %.apk,%.odex,$@)) + ifneq (nostripping,$(LOCAL_DEX_PREOPT)) + $(call dexpreopt-remove-classes.dex,$@) + endif +endif +#add upon $(align-package) endif +ifdef LOCAL_DEX_PREOPT + built_odex := $(basename $(built_module)).odex +$(built_odex): $(built_module) +endif else ifneq ($(LOCAL_PREBUILT_STRIP_COMMENTS),) $(built_module) : $(my_prebuilt_src_file)
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories