proguard 5.3.3 large progect apply mapping not working
Java class file shrinker, optimizer, obfuscator, and preverifier
Brought to you by:
guardsquare
hello,
I used apply mapping in proguard rule,
first add useuniqueclassmembernames in rule ,assemble gen 20046_mapping.txt then i applymapping use 20046_mapping.txt
-useuniqueclassmembernames
-applymapping 20046_mapping.txt
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify
# The remainder of this file is identical to the non-optimized version
# of the Proguard configuration file (except that the other file has
# flags to turn off optimization).
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
then start new assemble
: com.google.inject.spi.TypeConverterBinding: method 'java.lang.Object getSource()' is not being kept as 'getSource', but remapped to 'a'
Warning: com.google.inject.spi.TypeListenerBinding: method 'java.lang.Object getSource()' is not being kept as 'a', but remapped to 'getSource'
Warning: com.google.inject.spi.TypeListenerBinding: method 'java.lang.Object getSource()' is not being kept as 'getSource', but remapped to 'a'
e: method 'rx.Observable just(java.lang.Object)' is not being kept as 'v', but remapped to 'dz'
Warning: rx.Observable: method 'rx.Observable just(java.lang.Object)' is not being kept as 'dz', but remapped to 'a'
Warning: rx.Observable: method 'rx.Observable just(java.lang.Object)' is not being kept as 'a', but remapped to 'b'
Warning: rx.Observable: method 'rx.Observable just(java.lang.Object)' is not being kept as 'b', but remapped to 'a'
Warning: rx.Observable: method 'rx.Observable just(java.lang.Object)' is not being kept as 'a', but remapped to 'dA'
sample project is ok,but my project to large,and classes number 5w+
i read usage from http://proguard.sourceforge.net/manual/troubleshooting.html#mappingconflict1 but not work
thanks
apply mapping find this
28583:28583:rx.Observable just(java.lang.Object):1583:1583 -> dC
23583:23583:rx.Observable just(java.lang.Object):1583:1583 -> dA
The option
-applymapppingtries to apply the given obfuscation mapping to the processed code. However, if the class hierarchy has changed too much, it may become impossible to apply all specified names, e.g. if classes start implementing different interfaces. In this case, the optimization step itself may change the code a lot, e.g. by merging classes.It may be possible to improve the results by specifying
-useuniqueclassmembernamesboth in the initial obfuscation pass (with-printmapping) and in the second obfuscation pass (with-applymapping).Last edit: helloproguard 2017-09-01