Avoid feeding D8 with dex files.
Some test targets include dex files as resource to be loaded at runtime. This is an issue since full D8 also take dex files as input. This CL extracts only the class files and feed that to D8 instead of the whole jar. Test: USE_D8_DESUGAR=true m checkbuild tests Bug: 69329508 Change-Id: I52d80ec01933573f18eb497472a80b6a649c9dae
This commit is contained in:
parent
6553fd6cad
commit
aff156bd49
|
@ -2415,13 +2415,15 @@ endef
|
|||
define transform-classes-d8.jar-to-dex
|
||||
@echo "target Dex: $(PRIVATE_MODULE)"
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) rm -f $(dir $@)classes*.dex
|
||||
$(hide) rm -rf $(dir $@)classes*.dex $(dir $@)*.class $(dir $@)d8_input
|
||||
$(hide) unzip -qq -d $(dir $@)d8_input $< "*.class"
|
||||
$(hide) $(DX_COMMAND) \
|
||||
--output $(dir $@) \
|
||||
--min-api $(PRIVATE_MIN_SDK_VERSION) \
|
||||
$(subst --no-locals, --release, \
|
||||
$(filter-out --core-library --multi-dex,$(PRIVATE_DX_FLAGS))) \
|
||||
$<
|
||||
$$(find $(dir $@)d8_input -name *.class | sort)
|
||||
$(hide) rm -fr $(dir $@)d8_input
|
||||
endef
|
||||
|
||||
# Create a mostly-empty .jar file that we'll add to later.
|
||||
|
|
|
@ -150,6 +150,7 @@ endif
|
|||
|
||||
$(eval $(call copy-one-file,$(full_classes_jarjar_jar),$(full_classes_jar)))
|
||||
|
||||
ifneq ($(USE_D8_DESUGAR),true)
|
||||
my_desugaring :=
|
||||
ifeq ($(LOCAL_JAVA_LANGUAGE_VERSION),1.8)
|
||||
my_desugaring := true
|
||||
|
@ -157,6 +158,9 @@ $(full_classes_desugar_jar): PRIVATE_DX_FLAGS := $(LOCAL_DX_FLAGS)
|
|||
$(full_classes_desugar_jar): $(full_classes_jar) $(full_java_header_libs) $(DESUGAR)
|
||||
$(desugar-classes-jar)
|
||||
endif
|
||||
else
|
||||
my_desugaring :=
|
||||
endif
|
||||
|
||||
ifndef my_desugaring
|
||||
full_classes_desugar_jar := $(full_classes_jar)
|
||||
|
|
Loading…
Reference in New Issue