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

Commit 7bcaf9a9 authored by Yohann Roussel's avatar Yohann Roussel
Browse files

[DO NOT MERGE] Allow compilation with Jack.

Adapt to Jack compilation specifics.

Fix bad import in VideoDumpActivity.
The extra semicolumn is ignored by javac because of
https://bugs.openjdk.java.net/browse/JDK-8027682 but is not
permitted by ecj or Jack.

This includes cherry-picks of the following changes:
248ef6f9
705555dc
f50a51fb
bf5ad8d9

Change-Id: Ifbe063e3822a7d63b1681921b9788cfca898ba64
parent 838a7e50
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -406,6 +406,7 @@ LOCAL_JAVA_LIBRARIES := core-libart conscrypt okhttp core-junit bouncycastle ext
LOCAL_MODULE := framework

LOCAL_DX_FLAGS := --core-library --multi-dex
LOCAL_JACK_FLAGS := --multi-dex native

LOCAL_RMTYPEDEFS := true

@@ -417,6 +418,7 @@ framework_module := $(LOCAL_INSTALLED_MODULE)
framework_res_R_stamp := \
	$(call intermediates-dir-for,APPS,framework-res,,COMMON)/src/R.stamp
$(full_classes_compiled_jar): $(framework_res_R_stamp)
$(built_dex_intermediate): $(framework_res_R_stamp)

$(framework_module): | $(dir $(framework_module))framework-res.apk

+15 −3
Original line number Diff line number Diff line
@@ -27,18 +27,30 @@ LOCAL_SDK_VERSION := current

LOCAL_PACKAGE_NAME := MultiDexLegacyAndException

LOCAL_DEX_PREOPT := false

mainDexList:= \
    $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list

LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList) --minimal-main-dex
LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
    -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true

LOCAL_DEX_PREOPT := false
#################################
include $(BUILD_SYSTEM)/configure_local_jack.mk
#################################

ifdef LOCAL_JACK_ENABLED
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
endif

include $(BUILD_PACKAGE)

ifndef LOCAL_JACK_ENABLED
$(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
	$(hide) mkdir -p $(dir $@)
	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
	echo "com/android/multidexlegacyandexception/Test.class" >> $@

$(built_dex_intermediate): $(mainDexList)
endif
+3 −0
Original line number Diff line number Diff line
test:
  @@com.android.jack.annotations.ForceInMainDex
  class com.android.multidexlegacyandexception.Test
+28 −3
Original line number Diff line number Diff line
@@ -27,21 +27,33 @@ LOCAL_SDK_VERSION := current

LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp

LOCAL_DEX_PREOPT := false

mainDexList:= \
	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list

LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList) --minimal-main-dex
LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
    -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true

LOCAL_DEX_PREOPT := false
#################################
include $(BUILD_SYSTEM)/configure_local_jack.mk
#################################

ifdef LOCAL_JACK_ENABLED
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
endif

include $(BUILD_PACKAGE)

ifndef LOCAL_JACK_ENABLED
$(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
	$(hide) mkdir -p $(dir $@)
	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
	echo "com/android/multidexlegacytestapp/Test.class" >> $@

$(built_dex_intermediate): $(mainDexList)

endif

## The application with a full main dex
include $(CLEAR_VARS)
@@ -56,17 +68,30 @@ LOCAL_SDK_VERSION := current

LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp2

LOCAL_DEX_PREOPT := false

mainDexList2:= \
	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list

LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList2)
LOCAL_JACK_FLAGS := -D jack.dex.output.policy=multidex -D jack.preprocessor=true\
    -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true

LOCAL_DEX_PREOPT := false
#################################
include $(BUILD_SYSTEM)/configure_local_jack.mk
#################################

ifdef LOCAL_JACK_ENABLED
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
endif

include $(BUILD_PACKAGE)

ifndef LOCAL_JACK_ENABLED
$(mainDexList2): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
	$(hide) mkdir -p $(dir $@)
	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
	echo "com/android/multidexlegacytestapp/Test.class" >> $@

$(built_dex_intermediate): $(mainDexList2)
endif
 No newline at end of file
+3 −0
Original line number Diff line number Diff line
test:
  @@com.android.jack.annotations.ForceInMainDex
  class com.android.multidexlegacytestapp.Test
Loading