系统mac
编译器eclipse
工具首先下载安装 apktool和 jadx
在没有代码混淆的情况下
反编译步骤:1:通过apktool得到res
将xx.apk复制到apktool同级目录下
执行./apktool d xx.apk
得到同名文件夹
2:通过jadx得到src源码通过jadx-gui 双击得到源文件
3:新建android项目工程
4:将新建的项目里面res替换为第一步中得到的res
5:将新建项目中manifest替换为第一步中得到的manifest
6:将新建项目中src替换为第二部中得到的java源文件
7:导入依赖包 删除重复文件
这样一个apk就通过反编译 合成了一个新的应用
遇到的错误:07-30 11:49:25.882: D/AndroidRuntime(1410): Shutting down VM
07-30 11:49:25.990: E/AndroidRuntime(1410): FATAL EXCEPTION: main
07-30 11:49:25.990: E/AndroidRuntime(1410): Process: com.brosmike.airpushdetector, PID: 1410
07-30 11:49:25.990: E/AndroidRuntime(1410): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.brosmike.airpushdetector/com.brosmike.airpushdetector.DetectorActivity}: java.lang.ClassNotFoundException: Didn't find class "xxxxxxxx" on path: DexPathList[[zip file "/data/app/XXXXXX-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
07-30 11:49:25.990: E/AndroidRuntime(1410): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
错误解决请参考:点击打开链接
我遇到这个问题的原因是因为我的support-v4-jar引入出现错误,我一开始放到/bin目录下
后来改放倒/libs目录下就好了