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):
options.min_sdk_version,
'--target-sdk-version',
options.target_sdk_version,
'--proguard-conditional-keep-rules',
]
for j in options.include_resources:
......
......@@ -359,6 +359,18 @@
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
################################################################################
......
......@@ -164,6 +164,9 @@ android_aar_prebuilt("com_android_support_appcompat_v7_java") {
":com_android_support_support_fragment_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.
......
......@@ -17,6 +17,7 @@ Everything directly here is chromium code, and third_party code lives under
```
third_party/android_deps
├── .gitignore (hand written)
├── appcompat_extra.flags (hand written)
├── Android_SDK_License-December_9_2016.txt ([1])
├── additional_license_paths.json (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 {
sb.append(' # https://crbug.com/887942#c1\n')
sb.append(' ignore_proguard_configs = true\n')
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_media_compat':
// 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