1 2# Used for building release binaries. Obfuscates, optimizes, and shrinks. 3 4# By default, proguard leaves all classes in their original package, which 5# needlessly repeats com.google.android.apps.etc. 6-repackageclasses '' 7 8# Allows proguard to make private and protected methods and fields public as 9# part of optimization. This lets proguard inline trivial getter/setter methods. 10-allowaccessmodification 11 12# The source file attribute must be present in order to print stack traces, but 13# we rename it in order to avoid leaking the pre-obfuscation class name. 14-renamesourcefileattribute PG 15 16# This allows proguard to strip isLoggable() blocks containing only debug log 17# code from release builds. 18-assumenosideeffects class android.util.Log { 19 static *** i(...); 20 static *** d(...); 21 static *** v(...); 22 static *** isLoggable(...); 23} 24 25# This allows proguard to strip Trace code from release builds. 26-assumenosideeffects class android.os.Trace { 27 static *** beginSection(...); 28 static *** endSection(...); 29} 30