Commit 58305bfd authored by Harsh Patel's avatar Harsh Patel Committed by Commit Bot

Proguard conditional keeps for layouts

Added flag for aapt2 link to generate proguard conditional keep rules.

Bug: 682786
Change-Id: I11e7afd5b540bcc6bc0f4bf54a8bd20c750fb0a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1723796
Commit-Queue: Harsh Patel <harshpa@google.com>
Reviewed-by: default avatarSam Maier <smaier@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684463}
parent c0fd3c06
...@@ -723,6 +723,7 @@ def _PackageApk(options, build): ...@@ -723,6 +723,7 @@ def _PackageApk(options, build):
options.min_sdk_version, options.min_sdk_version,
'--target-sdk-version', '--target-sdk-version',
options.target_sdk_version, options.target_sdk_version,
'--proguard-conditional-keep-rules',
] ]
for j in options.include_resources: for j in options.include_resources:
......
...@@ -359,6 +359,18 @@ ...@@ -359,6 +359,18 @@
public <init>(); public <init>();
} }
################################################################################
# ../../third_party/android_deps/appcompat_extra.flags
################################################################################
# These flags are used as a temporary fix for an aapt2 bug.
# Remove this file and update BuildConfigGenerator.groovy to not use this file
# for proguard.
#
# Link for Googlers: go/aapt-conditional-keep-bug.
-if class **.R$styleable { int AlertDialog_android_layout; }
-keep class **.R$layout { int abc_alert_dialog_material; }
################################################################################ ################################################################################
# ../../third_party/gvr-android-sdk/proguard-gvr-chromium.txt # ../../third_party/gvr-android-sdk/proguard-gvr-chromium.txt
################################################################################ ################################################################################
......
...@@ -164,6 +164,9 @@ android_aar_prebuilt("com_android_support_appcompat_v7_java") { ...@@ -164,6 +164,9 @@ android_aar_prebuilt("com_android_support_appcompat_v7_java") {
":com_android_support_support_fragment_java", ":com_android_support_support_fragment_java",
":com_android_support_support_vector_drawable_java", ":com_android_support_support_vector_drawable_java",
] ]
if (!is_java_debug) {
proguard_configs = [ "appcompat_extra.flags" ]
}
} }
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
......
...@@ -17,6 +17,7 @@ Everything directly here is chromium code, and third_party code lives under ...@@ -17,6 +17,7 @@ Everything directly here is chromium code, and third_party code lives under
``` ```
third_party/android_deps third_party/android_deps
├── .gitignore (hand written) ├── .gitignore (hand written)
├── appcompat_extra.flags (hand written)
├── Android_SDK_License-December_9_2016.txt ([1]) ├── Android_SDK_License-December_9_2016.txt ([1])
├── additional_license_paths.json (generated) ├── additional_license_paths.json (generated)
├── BUILD.gn (partly generated) ├── BUILD.gn (partly generated)
......
# These flags are used as a temporary fix for an aapt2 bug.
# Remove this file and update BuildConfigGenerator.groovy to not use this file
# for proguard.
#
# Link for Googlers: go/aapt-conditional-keep-bug.
-if class **.R$styleable { int AlertDialog_android_layout; }
-keep class **.R$layout { int abc_alert_dialog_material; }
\ No newline at end of file
...@@ -243,6 +243,11 @@ class BuildConfigGenerator extends DefaultTask { ...@@ -243,6 +243,11 @@ class BuildConfigGenerator extends DefaultTask {
sb.append(' # https://crbug.com/887942#c1\n') sb.append(' # https://crbug.com/887942#c1\n')
sb.append(' ignore_proguard_configs = true\n') sb.append(' ignore_proguard_configs = true\n')
break break
case 'com_android_support_appcompat_v7':
sb.append(' if (!is_java_debug) {\n')
sb.append(' proguard_configs = ["appcompat_extra.flags"]\n')
sb.append(' }\n')
break
case 'com_android_support_support_compat': case 'com_android_support_support_compat':
case 'com_android_support_support_media_compat': case 'com_android_support_support_media_compat':
// Target has AIDL, but we don't support it yet: http://crbug.com/644439 // Target has AIDL, but we don't support it yet: http://crbug.com/644439
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment