Reputation: 559
A generated mapping.txt like following
com.abc.media.MediaAudioEncoder$AudioThread -> nq:
com.abc.media.MediaAudioEncoder this$0 -> a
100:100:void <init>(com.abc.media.MediaAudioEncoder) -> <init>
105:158:void run() -> run
100:100:void <init>
what does "100:100" "105:158" means ?
Upvotes: 1
Views: 314
Reputation: 1462
These are line numbers which indicate range where method is defined.
So for each class, there is that structure: 1st line, without indentation, shows translation of class name.
com.example.myapp.MainActivity -> com.example.myapp.a:
Next, lines with indentation, shows translation of that class' fields and methods.
int num -> a //fields
java.lang.String str -> b
15:20:void <init>() -> <init> //contructor, between 15th and 20th line
27:54:void onCreate(android.os.Bundle) -> onCreate //not obfuscated method, between 27th and 54th line
60:88:void foo() -> a //obfuscated method
90:93:void bar() -> b
Note that not every class/method/field will be obfuscated. Code which depends on reflections (calling methods by their name, as a string) won't work after obfuscation process. That's why sometimes you will want to exclude certain part of code from that process by editing your proguard-rules file.
Upvotes: 2