Android R.java Reverser

This tool takes the R files (R.java, R$anim.java, etc.) generated by decompilers/deobfuscators like Procyon, CFR, Fernflower, Krakatau, JD-Core, etc. and remaps the integer IDs generated by the Android Asset Packaging Tool (AAPT) into the more human-readable fully qualified strings.

For example, this code: before

is transformed into: after

This is useful for analysis of decompiled code because strings such as R.layout.activity_activate are more semantically meaningful than 213903041.

Building

Install JDK8, clone this repo, and run ./gradlew shadowJar. This will create a build/libs/android-reverse-r-1.0.0-all.jar file. Alternatively, you can download the latest release.

Running

Run java -jar android-reverse-r-1.0.0-all.jar. The -src and -pkg options are used to specify the folder containing the source files and the package name to be reversed, respectively.

For example:
java -jar android-reverse-r-1.0.0-all.jar -src /Users/justin/DecompiledSource -pkg com.interesting.application