android - Proguard obfuscating does not work -
i'm trying obfuscate package names including 1 of used libraries.
i use build config in gradle file:
buildtypes { debug { versionnamesuffix "-development" debuggable true runproguard true proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } #...
this proguard file:
# butterknife -dontwarn butterknife.internal.** -keep class **$$viewinjector { *; } -keepnames class * { @butterknife.injectview *;} # ormlite uses reflection -keepclassmembers class com.j256.** { *; } -keep class my.package.name.database.** { *; } -keep class com.j256.** #test -repackageclasses 'qqq1' -flattenpackagehierarchy 'qqq2' -allowaccessmodification -forceprocessing
i'm using command dumping dexed classes:
7z x -aoa my.apk classes.dex && dexdump classes.dex | grep "class desc" | less
and still see full package names if grep "qqq" no results seems both rules repackageclasses
, flattenpackagehierarchy
seems ignored (i tested use 1 of lines). idea missed?
for library modules, seems build system add "-keeppackagenames" default lead package names not obfuscated.
you can try using workaround:
add "-keeppackagenames !**" disable -keeppackagenames being injected build system.
via: https://code.google.com/p/android/issues/detail?id=67587
Comments
Post a Comment