Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f229de4a authored by Colin Cross's avatar Colin Cross
Browse files

Enable dexpreopt and dex stripping in soong jars

Dexpreopt jars from soong, which also strips classes.dex from
javalib.jar.

Test: m -j checkbuild
Test: unzip -l $OUT/system/framework/core-oj.jar
Change-Id: I06b8efa8993f6c44f0ad8c988e57a3cba08e17ad
parent ea1629e7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ endif
ifdef LOCAL_UNINSTALLABLE_MODULE
LOCAL_DEX_PREOPT :=
endif
ifeq (,$(strip $(built_dex)$(my_prebuilt_src_file))) # contains no java code
ifeq (,$(strip $(built_dex)$(my_prebuilt_src_file)$(LOCAL_SOONG_DEX_JAR))) # contains no java code
LOCAL_DEX_PREOPT :=
endif
# if WITH_DEXPREOPT_BOOT_IMG_ONLY=true and module is not in boot class path skip
+27 −4
Original line number Diff line number Diff line
@@ -36,7 +36,30 @@ endif # TURBINE_DISABLED != false

ifdef LOCAL_SOONG_DEX_JAR
  $(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(common_javalib.jar)))
$(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(LOCAL_BUILT_MODULE)))

  # defines built_odex along with rule to install odex
  include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk

  ifdef LOCAL_DEX_PREOPT
    ifneq ($(dexpreopt_boot_jar_module),) # boot jar
      # boot jar's rules are defined in dex_preopt.mk
      dexpreopted_boot_jar := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(dexpreopt_boot_jar_module)_nodex.jar
      $(eval $(call copy-one-file,$(dexpreopted_boot_jar),$(LOCAL_BUILT_MODULE)))

      # For libart boot jars, we don't have .odex files.
    else # ! boot jar
      $(built_odex): PRIVATE_MODULE := $(LOCAL_MODULE)
      # Use pattern rule - we may have multiple built odex files.
$(built_odex) : $(dir $(LOCAL_BUILT_MODULE))% : $(common_javalib.jar)
	@echo "Dexpreopt Jar: $(PRIVATE_MODULE) ($@)"
	$(call dexpreopt-one-file,$<,$@)

     $(eval $(call dexpreopt-copy-jar,$(common_javalib.jar),$(LOCAL_BUILT_MODULE),$(LOCAL_DEX_PREOPT)))
    endif # ! boot jar
  else # LOCAL_DEX_PREOPT
    $(eval $(call copy-one-file,$(common_javalib.jar),$(LOCAL_BUILT_MODULE)))
  endif # LOCAL_DEX_PREOPT

  java-dex : $(LOCAL_BUILT_MODULE)
else
  $(eval $(call copy-one-file,$(full_classes_jar),$(LOCAL_BUILT_MODULE)))