成功在netbeans上调试smali代码。
过程:
1、下载jdk1.7,netbeans6.8
2、新建java工程,已存在代码,并选择source文件夹
3、打开sdk ddms,netbeans选择调试,连接调试器,主机为127.0.0.1,端口为调试程序对应的ddms上显示的端口号
注意事项
1、在反编译apk后,需要在AndroidManifest.xml的application元素添加android:debuggable="true"
2、netbeans版本一定要为6.8,新版本不支持smali调试,netbeans可以不安装android插件。
3、反编译请用apktool.jar 1.41版本,并加-d选项。
4、调试代码请先参阅用dex2jar生成的java代码(代码有部分错误,但能看)
命令如下:
反编译: java -jar apktool.jar d -d com.myapp.apk out
编译:java -jar apktool.jar b -d out com.debug.apk
过程:
1、下载jdk1.7,netbeans6.8
2、新建java工程,已存在代码,并选择source文件夹
3、打开sdk ddms,netbeans选择调试,连接调试器,主机为127.0.0.1,端口为调试程序对应的ddms上显示的端口号
注意事项
1、在反编译apk后,需要在AndroidManifest.xml的application元素添加android:debuggable="true"
2、netbeans版本一定要为6.8,新版本不支持smali调试,netbeans可以不安装android插件。
3、反编译请用apktool.jar 1.41版本,并加-d选项。
4、调试代码请先参阅用dex2jar生成的java代码(代码有部分错误,但能看)
命令如下:
反编译: java -jar apktool.jar d -d com.myapp.apk out
编译:java -jar apktool.jar b -d out com.debug.apk
签名:jarsigner -verbose -keystore mykeystore -signedjar com.signed.apk com.debug.apk mykeystore
如果反编译报错,尝试删除C:\Documents and Settings\Administrator.PC-机器名\apktool\framework\1.apk