编译Java文件
javac Hello.java # 或指定版本
javac -source 1.6 -target 1.6 Hello.java
将.class文件转换成.dex文件(source build/envsetup.sh,并lunch后能看到dx命令)
dx --dex --output=Hello.dex Hello.class
查看.class文件的字节码
javap -c -classpath . Hello
查看.dex文件的字节码(dexdump和dex一样,路径在out/host/linux-x86/bin/)
dexdump -d Hello.dex
有两种.dex反汇编工具BakSmali(out/host/linux-x86/framework/baksmali.jar)和Dedexer,用法分别如下.
java -jar baksmali -o baksmaliout Hello.dex
java -jar ddx.jar -o ddxout Hello.dex
工具apktool,下载地址 http://code.google.com/p/android-apktool
apktool d crackme02.apk outdir
apktool b outdir
签名需要用到signapk.jar,testkey.x509.pem,testkey.pk8等文件,这些文件可以在build/target/product/security/,out/host/linux-x86/framework/signapk.jar等地方找到),执行命令如下
java -jar signapk.jar testkey.x509.pem testkey.pk8 crackme02.apk signed.apk
signed.apk就是最后可以安装的apk文件。