forked from openkylin/platform_build
Merge changes I84a59a8c,Id7a92fb2
* changes: Remove obsolete proguard options Export proguard flags from static android libraries and aar prebuilts
This commit is contained in:
commit
9c2b798143
|
@ -78,6 +78,7 @@ LOCAL_EXPORT_C_INCLUDE_DEPS:=
|
|||
LOCAL_EXPORT_C_INCLUDE_DIRS:=
|
||||
LOCAL_EXPORT_HEADER_LIBRARY_HEADERS:=
|
||||
LOCAL_EXPORT_PACKAGE_RESOURCES:=
|
||||
LOCAL_EXPORT_PROGUARD_FLAG_FILES:=
|
||||
LOCAL_EXPORT_SHARED_LIBRARY_HEADERS:=
|
||||
LOCAL_EXPORT_STATIC_LIBRARY_HEADERS:=
|
||||
LOCAL_EXTRACT_APK:=
|
||||
|
|
15
core/java.mk
15
core/java.mk
|
@ -593,7 +593,7 @@ $(eval $(call copy-one-file,$(full_classes_pre_proguard_jar),$(intermediates.COM
|
|||
|
||||
# Run proguard if necessary
|
||||
ifdef LOCAL_PROGUARD_ENABLED
|
||||
ifneq ($(filter-out full custom nosystem obfuscation optimization shrinktests,$(LOCAL_PROGUARD_ENABLED)),)
|
||||
ifneq ($(filter-out full custom nosystem obfuscation optimization,$(LOCAL_PROGUARD_ENABLED)),)
|
||||
$(warning while processing: $(LOCAL_MODULE))
|
||||
$(error invalid value for LOCAL_PROGUARD_ENABLED: $(LOCAL_PROGUARD_ENABLED))
|
||||
endif
|
||||
|
@ -634,16 +634,15 @@ common_proguard_flags := -forceprocessing
|
|||
common_proguard_flag_files :=
|
||||
ifeq ($(filter nosystem,$(LOCAL_PROGUARD_ENABLED)),)
|
||||
common_proguard_flag_files += $(BUILD_SYSTEM)/proguard.flags
|
||||
ifeq ($(LOCAL_EMMA_INSTRUMENT),true)
|
||||
common_proguard_flags += -include $(BUILD_SYSTEM)/proguard.emma.flags
|
||||
endif
|
||||
# If this is a test package, add proguard keep flags for tests.
|
||||
ifneq ($(LOCAL_INSTRUMENTATION_FOR)$(filter tests,$(LOCAL_MODULE_TAGS)),)
|
||||
common_proguard_flag_files += $(BUILD_SYSTEM)/proguard_tests.flags
|
||||
ifeq ($(filter shrinktests,$(LOCAL_PROGUARD_ENABLED)),)
|
||||
common_proguard_flags += -dontshrink # don't shrink tests by default
|
||||
endif # shrinktests
|
||||
endif # test package
|
||||
ifneq ($(LOCAL_PROGUARD_ENABLED),custom)
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
common_proguard_flag_files += $(foreach l,$(LOCAL_STATIC_ANDROID_LIBRARIES),\
|
||||
$(call intermediates-dir-for,JAVA_LIBRARIES,$(l),,COMMON)/export_proguard_flags)
|
||||
endif
|
||||
endif
|
||||
ifneq ($(common_proguard_flag_files),)
|
||||
common_proguard_flags += $(addprefix -include , $(common_proguard_flag_files))
|
||||
# This is included from $(BUILD_SYSTEM)/proguard.flags
|
||||
|
|
|
@ -566,12 +566,16 @@ my_src_aar := $(filter %.aar, $(my_prebuilt_src_file))
|
|||
ifneq ($(my_src_aar),)
|
||||
# This is .aar file, archive of classes.jar and Android resources.
|
||||
my_src_jar := $(intermediates.COMMON)/aar/classes.jar
|
||||
my_src_proguard_options := $(intermediates.COMMON)/aar/proguard.txt
|
||||
|
||||
$(my_src_jar) : .KATI_IMPLICIT_OUTPUTS := $(my_src_proguard_options)
|
||||
$(my_src_jar) : $(my_src_aar)
|
||||
$(hide) rm -rf $(dir $@) && mkdir -p $(dir $@) $(dir $@)/res
|
||||
$(hide) unzip -qo -d $(dir $@) $<
|
||||
# Make sure the extracted classes.jar has a new timestamp.
|
||||
$(hide) touch $@
|
||||
# Make sure the proguard file exists and has a new timestamp.
|
||||
$(hide) touch $(dir $@)/proguard.txt
|
||||
|
||||
endif
|
||||
|
||||
|
@ -595,6 +599,10 @@ endif
|
|||
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
ifneq ($(my_src_aar),)
|
||||
|
||||
$(intermediates.COMMON)/export_proguard_flags : $(my_src_proguard_options)
|
||||
$(transform-prebuilt-to-target)
|
||||
|
||||
LOCAL_SDK_RES_VERSION:=$(strip $(LOCAL_SDK_RES_VERSION))
|
||||
ifeq ($(LOCAL_SDK_RES_VERSION),)
|
||||
LOCAL_SDK_RES_VERSION:=$(LOCAL_SDK_VERSION)
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
# Keep everything for the emma classes
|
||||
-keep class com.vladium.** {
|
||||
*;
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
# Keep everything for tests
|
||||
# This flag has been moved to the makefiles and is set for tests by default.
|
||||
#-dontshrink
|
||||
|
||||
# But we may want to obfuscate if the main app gets obfuscated.
|
||||
# This flag has been moved to the makefiles.
|
||||
#-dontobfuscate
|
||||
|
||||
#-keep class * extends junit.framework.TestCase {
|
||||
# public void test*();
|
||||
#}
|
||||
|
||||
#-keepclasseswithmembers class * {
|
||||
# public static void run();
|
||||
# public static junit.framework.Test suite();
|
||||
#}
|
||||
|
||||
# some AllTests don't include run().
|
||||
#-keepclasseswithmembers class * {
|
||||
# public static junit.framework.Test suite();
|
||||
#}
|
||||
|
||||
#-keep class * extends junit.framework.TestSuite
|
||||
#-keep class * extends android.app.Instrumentation
|
||||
#-keep class * extends android.test.TestSuiteProvider
|
||||
|
|
@ -118,6 +118,13 @@ framework_res_package_export_deps := \
|
|||
endif
|
||||
endif
|
||||
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
$(intermediates.COMMON)/export_proguard_flags: $(addprefix $(LOCAL_PATH)/,$(LOCAL_EXPORT_PROGUARD_FLAG_FILES))
|
||||
@echo "Export proguard flags: $@"
|
||||
rm -f $@
|
||||
cat $+ >$@
|
||||
endif
|
||||
|
||||
# add --non-constant-id to prevent inlining constants.
|
||||
# AAR needs text symbol file R.txt.
|
||||
ifdef LOCAL_USE_AAPT2
|
||||
|
|
Loading…
Reference in New Issue