New issue
Advanced search Search tips

Issue 826781 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 887942
Owner:
Closed: Yesterday
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 700236



Sign in to add a comment

Obfuscate more classes & methods

Project Member Reported by agrieve@chromium.org, Mar 28 2018

Issue description

Enabling ProGuarding saved ~1mb of odex size (and about the same in uncompressed dex size). If we could obfuscate more, we'd save more.

To get the list of class names:
dexdump classes.dex | grep 'Class descriptor' | grep "/"

As of right now, 1378 of 8494 classes are not obfuscated.

33 classes are due to -keepnames for com.google.vr.sdk.** & com.google.vr.ndk.**
https://cs.chromium.org/chromium/src/third_party/gvr-android-sdk/src/proguard-gvr.txt

<50 classes are from:
-keep public class org.chromium.chrome.browser.preferences.** extends android.app.Fragment

From looking through the list, some common themes to the -keepnames are:

* Classes that contain any JNI
* View classes referenced by layout .xml
* Parcelables (a lot of these in play services client)


For methods:
dexdump classes.dex |grep '      name' | grep -v '<' | sort -u | grep -vE "'.'|'..'" | wc -l
4814

Of these, 1726 start with "native".
 
Blockedon: 700236
Owner: smaier@chromium.org
Status: Assigned (was: Available)

Comment 4 by smaier@google.com, Yesterday (46 hours ago)

Mergedinto: 887942
Status: Duplicate (was: Assigned)

Sign in to add a comment