Commit graph

12 commits

Author SHA1 Message Date
Jared Duke
df60c0bb14 Update default system Proguard config rules
Use the `includedescriptorclasses` modifier with the native keep rules
to ensure native method signatures remain preserved. This matches
common native Proguard rules used elsewhere.

Bug: 196084106
Test: m + presubmit
Change-Id: Ie413459ad0f65ce6b8cd6eb34318494c12568c5e
2022-02-07 10:54:51 -08:00
Colin Cross
7a9acce4ec Keep proguard fields for lite runtime
The lite proto runtime uses reflection to access fields based on the names in
the schema, keep all the fields.

Bug: 117607748
Bug: 140062984
Test: m checkbuild
Change-Id: I39bc7d28f619dd2ccaee603e4d407aa7ad33f534
Merged-In: I39bc7d28f619dd2ccaee603e4d407aa7ad33f534
2019-09-05 14:42:14 -07:00
Luca Stefani
765d2aed94 Remove unsupported option from R8 flags
See I71cd2d0e54f24c61043ac0a67df0a22c1e74deb3

Bug: 112338230
Change-Id: Ia4f19555fb86464c19d3e9cd07cba1870b215181
2019-04-22 20:00:37 +00:00
Colin Cross
e75840fe4d Add default proguard flags from guava
Guava 27.1 causes some warnings in R8, silence them.

Bug: 130306229
Test: m checkbuild
Change-Id: Ia9948d597538a16c5b7ab26a2e41eebde52e7427
Merged-In: Ia9948d597538a16c5b7ab26a2e41eebde52e7427
Exempt-From-Owner-Approval: cherry pick
(cherry picked from commit b4917146aa)
2019-04-15 21:44:50 -07:00
Colin Cross
2ac9c6219a Remove obsolete proguard flags
R8 now warns:
Warning in ./build/make/core/proguard_basic_keeps.flags:
  Ignoring option: -optimizations

Remove the flags, they are not used by R8.

Fixes: 123401079
Test: m checkbuild
Change-Id: I8b0c558be8bcf943652dddb71802ddc145ae42c1
2019-01-25 21:30:13 +00:00
Ying Wang
480a9bb64e Keep Throwable's constructor that takes a String argument.
Bug: 20495321
Change-Id: Iaf041da325e1d31f136f36e8ed85b2d90c578b0e
2015-05-11 14:56:20 -07:00
Ying Wang
4f5d0e60b4 Raise SDK version for ProGuard processing when app links support library.
When an app's LOCAL_SDK_VERSION is lower than the support library's
LOCAL_SDK_VERSION,  we artifically raises the "SDK version" "linked"
by ProGuard, to
- suppress ProGuard warnings of referencing symbols unknown to the
  lower SDK version.
- prevent ProGuard stripping subclass in the support library that
  extends class added in the higher SDK version.

This allows us to remove the dangerous ProGuard flag
"-dontwarn android.support.**".

Notes:
- We don't raise the app's LOCAL_SDK_VERSION, so that the app's own
  code is still unable to use the higher SDK version.
- For platform build, we can't just raise to the "current" SDK,
  because would break apps that use APIs removed from the current SDK.
  We raise it to framework.jar instead, which contains the most complete
  symbol set.

Bug: 20658265
Change-Id: I90099073457a65cb8031fbaec6b396d68ce614a7
(cherry picked from commit 8e8d1e7aba)
2015-05-05 17:35:12 +00:00
Ying Wang
f864d502ab Less spammy ProGuard.
Change-Id: I465921b878c4ed6ec5d564704801e435d1aaa63c
2014-06-17 11:53:31 -07:00
Scott Kennedy
62eb51af23 Keep Parcelable CREATOR fields
Change-Id: I64451134a9d11d17307ef4d8ea923df5fe5e37ed
2014-04-07 11:50:23 -07:00
Ying Wang
e391e7a86e Remove -allowaccessmodification from the basic Proguard flags
It seems with that flag Proguard modifies the class files in a way that
Dalvik does not like.
Bug: 10307364

Change-Id: If0cc7552da00ae8a3a3a39a9f2f029819ca3164a
2013-08-13 17:40:24 -07:00
Ying Wang
38cdd4429f Tweak proguard flags in the 2 files.
So all most commonly-used flags go to proguard_basic_keeps.flags
and they will still be applied when LOCAL_PROGUARD_ENABLED=nosystem.
Bug: 9203442

Change-Id: If018076dc625ac1efe31898b179dbba850218aaf
2013-06-12 11:04:49 -07:00
Ying Wang
5745351908 Split out proguard_basic_keeps.flags
For 'LOCAL_PROGUARD_ENABLED := nosystem' we still include
proguard_basic_keeps.flags.

Change-Id: I43ee7e98d2aaeb84879441f90ab6839c0e8f4e65
2013-05-17 10:02:00 -07:00