New issue
Advanced search Search tips

Issue 619937 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Proguard cleanup

Project Member Reported by smaier@chromium.org, Jun 14 2016

Issue description

This is a general bug for Proguard related cleanups - whether that be removing unneeded keeps from flags files or fixing notes/warnings.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/717861ebc8fd72bcca825c4d5049047a75afd34c

commit 717861ebc8fd72bcca825c4d5049047a75afd34c
Author: smaier <smaier@chromium.org>
Date: Mon Jun 20 14:19:55 2016

Proguard warning suppresions removed

Old warning suppressions are kept in proguard.flags file without anyone
caring about them. It seems like removing them has absolutely no effect.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2069213002
Cr-Commit-Position: refs/heads/master@{#400676}

[modify] https://crrev.com/717861ebc8fd72bcca825c4d5049047a75afd34c/chrome/android/java/proguard.flags

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 20 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/4b06b43b3e93391794dc564c4a563334329c3927

commit 4b06b43b3e93391794dc564c4a563334329c3927
Author: Sam Maier <smaier@google.com>
Date: Fri Jun 17 15:41:33 2016

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b6b47fa26bc2f1931e2706c19fbe4af0d02eade

commit 8b6b47fa26bc2f1931e2706c19fbe4af0d02eade
Author: smaier <smaier@chromium.org>
Date: Thu Jun 23 14:40:18 2016

Fixing -keep structure for @annotations

The keeps we had for annotations do not work as advertised. The way we were
doing them was equivalent to what I changed it to PLUS
-keep class com.google.android.apps.chrome.**,org.chromium.**

This change saves us ~207kb and 499 methods. See
https://paste.googleplex.com/6354796046974976 for what was removed.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2079613002
Cr-Commit-Position: refs/heads/master@{#401602}

[modify] https://crrev.com/8b6b47fa26bc2f1931e2706c19fbe4af0d02eade/chrome/android/java/proguard.flags
[modify] https://crrev.com/8b6b47fa26bc2f1931e2706c19fbe4af0d02eade/chrome/android/java/src/org/chromium/chrome/browser/banners/AppDetailsDelegate.java
[modify] https://crrev.com/8b6b47fa26bc2f1931e2706c19fbe4af0d02eade/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0c518f1ca99980f14a786a6163494136c819ed8

commit c0c518f1ca99980f14a786a6163494136c819ed8
Author: smaier <smaier@chromium.org>
Date: Tue Jun 28 19:05:42 2016

Removed keeps for unused member variables.

Right now, we have a very old Proguard rule that keeps around all unused
member variables for seemingly no reason at all. Removing these member
variables saves us exactly 260kb in .dex size.

See https://paste.googleplex.com/6211836936454144 for a list of what
members are removed.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2070633002
Cr-Commit-Position: refs/heads/master@{#402506}

[modify] https://crrev.com/c0c518f1ca99980f14a786a6163494136c819ed8/chrome/android/java/proguard.flags
[modify] https://crrev.com/c0c518f1ca99980f14a786a6163494136c819ed8/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java
[modify] https://crrev.com/c0c518f1ca99980f14a786a6163494136c819ed8/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupWithKeyboardTest.java

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a191afe97691594f1cee9e33cdeb5b7a2f51e87

commit 0a191afe97691594f1cee9e33cdeb5b7a2f51e87
Author: smaier <smaier@chromium.org>
Date: Thu Jul 07 18:22:35 2016

Fix manifest reference to cache invalidation alarm receiver.

A mistake happened when rolling in invalidation code to chromium, where the
package name of some classes were changed, but the android manifest for Chrome was
not updated.

The code in question is relates to a path that is not required for basic
usage of invalidation, but fixing the reference makes the invalidation code less
prone to failure.

This was discovered through a Proguard note about a missing class, so by updating
the reference, the note also disappears.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2068733002
Cr-Commit-Position: refs/heads/master@{#404182}

[modify] https://crrev.com/0a191afe97691594f1cee9e33cdeb5b7a2f51e87/chrome/android/java/AndroidManifest.xml

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c20746e0de53e2f19f36cd6644c7537c094dbe3

commit 1c20746e0de53e2f19f36cd6644c7537c094dbe3
Author: smaier <smaier@chromium.org>
Date: Wed Jul 13 15:15:42 2016

Removed keeps for unused member variables.

When merging before submitting, this change did not make it into
codereview.chromium.org/2070633002.

As it stands, this CL reduces .dex size by 127kb and saves us 27kb of
dirty memory per process.

See paste.googleplex.com/6304692032241664 for what was removed.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2147583003
Cr-Commit-Position: refs/heads/master@{#405156}

[modify] https://crrev.com/1c20746e0de53e2f19f36cd6644c7537c094dbe3/chrome/android/java/proguard.flags

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 13 2016

Labels: merge-merged-2795
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c20746e0de53e2f19f36cd6644c7537c094dbe3

commit 1c20746e0de53e2f19f36cd6644c7537c094dbe3
Author: smaier <smaier@chromium.org>
Date: Wed Jul 13 15:15:42 2016

Removed keeps for unused member variables.

When merging before submitting, this change did not make it into
codereview.chromium.org/2070633002.

As it stands, this CL reduces .dex size by 127kb and saves us 27kb of
dirty memory per process.

See paste.googleplex.com/6304692032241664 for what was removed.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2147583003
Cr-Commit-Position: refs/heads/master@{#405156}

[modify] https://crrev.com/1c20746e0de53e2f19f36cd6644c7537c094dbe3/chrome/android/java/proguard.flags

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7f9943a146ddc60427da3d4b74bf9bcbbcfb51f

commit a7f9943a146ddc60427da3d4b74bf9bcbbcfb51f
Author: smaier <smaier@chromium.org>
Date: Wed Aug 10 14:03:43 2016

Switching from keepnames to keepclassmembernames for Parcelable

This does not add/remove any classes, methods, or fields.

It saves us 25kb in .dex size.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2234463002
Cr-Commit-Position: refs/heads/master@{#411034}

[modify] https://crrev.com/a7f9943a146ddc60427da3d4b74bf9bcbbcfb51f/chrome/android/java/proguard.flags

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6429e31ec1e178090e74fbe2ebf92b0db21432fc

commit 6429e31ec1e178090e74fbe2ebf92b0db21432fc
Author: smaier <smaier@chromium.org>
Date: Thu Aug 11 16:03:05 2016

Removing proguard -keep which does nothing

We already turned off the dangerous optimization that breaks this library.
This is redundant.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2237633002
Cr-Commit-Position: refs/heads/master@{#411342}

[modify] https://crrev.com/6429e31ec1e178090e74fbe2ebf92b0db21432fc/chrome/android/java/proguard.flags

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6441843cbd709ba4016d1796c92e61c21bf1dcc3

commit 6441843cbd709ba4016d1796c92e61c21bf1dcc3
Author: smaier <smaier@chromium.org>
Date: Thu Aug 11 19:47:39 2016

Removing protobuf ProGuard keep

This removes:
-class com.google.protobuf.nano.android.ParcelableExtendableMessageNano
-class com.google.protobuf.nano.Extension
-class com.google.protobuf.nano.android.ParcelableMessageNano
-class com.google.protobuf.nano.Extension$PrimitiveExtension
com.google.protobuf.nano.InternalNano
-  void <init>()
com.google.protobuf.nano.WireFormatNano
-  void <init>()
-class com.google.protobuf.nano.android.ParcelableMessageNanoCreator
com.google.protobuf.nano.MessageNanoPrinter
-  void <init>()

BUG= 619937 

Review-Url: https://codereview.chromium.org/2239023002
Cr-Commit-Position: refs/heads/master@{#411408}

[modify] https://crrev.com/6441843cbd709ba4016d1796c92e61c21bf1dcc3/chrome/android/java/proguard.flags

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e1133795d7be524bb30dcce462016202248c829

commit 9e1133795d7be524bb30dcce462016202248c829
Author: smaier <smaier@chromium.org>
Date: Fri Aug 12 14:36:59 2016

Using proper keep rule in testing proguard config

BUG= 619937 

Review-Url: https://codereview.chromium.org/2239763002
Cr-Commit-Position: refs/heads/master@{#411648}

[modify] https://crrev.com/9e1133795d7be524bb30dcce462016202248c829/testing/android/proguard_for_test.flags

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e197c064b8d2a8632e1489c3966004ff69b1c70

commit 8e197c064b8d2a8632e1489c3966004ff69b1c70
Author: smaier <smaier@chromium.org>
Date: Mon Aug 15 18:04:40 2016

Removed unnecessary keep for ipc invalidation

See https://paste.googleplex.com/5558419184418816 for diff.

Saves us 35k of .dex size.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2237113002
Cr-Commit-Position: refs/heads/master@{#411983}

[modify] https://crrev.com/8e197c064b8d2a8632e1489c3966004ff69b1c70/chrome/android/java/proguard.flags

Project Member

Comment 14 by bugdroid1@chromium.org, Aug 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f76569fe690db5de5395cc9a62313a1d8300c60

commit 9f76569fe690db5de5395cc9a62313a1d8300c60
Author: smaier <smaier@chromium.org>
Date: Tue Aug 16 16:06:33 2016

Moving flags out of base_proguard_config make it usable by other .apks

Cronet wants to use base_proguad_config, and these flags don't make
sense for them. Moving these flags back to individual flags files.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2238953002
Cr-Commit-Position: refs/heads/master@{#412258}

[modify] https://crrev.com/9f76569fe690db5de5395cc9a62313a1d8300c60/android_webview/apk/java/proguard.flags
[modify] https://crrev.com/9f76569fe690db5de5395cc9a62313a1d8300c60/base/android/base_proguard_config.flags
[modify] https://crrev.com/9f76569fe690db5de5395cc9a62313a1d8300c60/chrome/android/java/proguard.flags

Project Member

Comment 15 by bugdroid1@chromium.org, Aug 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c433f858704d8a446f3c662a9d3c768e7515ede7

commit c433f858704d8a446f3c662a9d3c768e7515ede7
Author: smaier <smaier@chromium.org>
Date: Wed Aug 17 21:52:32 2016

Removing valueOf from enum -keep

This seems to be the way enum -keeps work for all other apps.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2252853003
Cr-Commit-Position: refs/heads/master@{#412657}

[modify] https://crrev.com/c433f858704d8a446f3c662a9d3c768e7515ede7/base/android/base_proguard_config.flags

Project Member

Comment 16 by bugdroid1@chromium.org, Aug 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48385972a97bf7a32575bed4d7e200828a1682d6

commit 48385972a97bf7a32575bed4d7e200828a1682d6
Author: smaier <smaier@chromium.org>
Date: Thu Aug 18 15:31:06 2016

Splitting assumenosideeffects Log to webview and chrome

This -assumenosideeffects rule only makes sense for webview and chrome,
not in a base flags file which could be used by other clients.

BUG= 619937 

Review-Url: https://codereview.chromium.org/2246223005
Cr-Commit-Position: refs/heads/master@{#412834}

[modify] https://crrev.com/48385972a97bf7a32575bed4d7e200828a1682d6/android_webview/apk/java/proguard.flags
[modify] https://crrev.com/48385972a97bf7a32575bed4d7e200828a1682d6/base/android/base_proguard_config.flags
[modify] https://crrev.com/48385972a97bf7a32575bed4d7e200828a1682d6/chrome/android/java/proguard.flags

Status: Fixed (was: Started)
This was a personal bug to track small cleanup ProGuard changes. Closing since these cleanups are done for the near future.

Sign in to add a comment