Do odex for prebuilt apk in kitkat

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值