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".
Comment 1 by agrieve@chromium.org
, Mar 29 2018