用意するもの
・JDK・apktool.jar
https://code.google.com/p/android-apktool/downloads/list
手順
# デコンパイル1) java -jar apktool.jar d hoge.apk
# smaliを弄る
○弄るときに役に立つもの一覧
・Dalvik opecodes
http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html
・dex2jar
http://code.google.com/p/dex2jar/downloads/list
・JD-GUI
http://java.decompiler.free.fr/?q=jdgui
・Bytecode Viewer
http://bytecodeviewer.com/
○javaのコードを見る
1) hoge.apkの拡張子をzipに変更し解凍する
2) classes.dexを取り出す
3) dex2jar classes.dex
4) classes_dex2jar.jarをJD-GUIで読み込む
# 再コンパイル
2) java -jar apktool.jar b hoge hoge2.apk
# 署名
3) jarsigner -sigalg SHA1withDSA -digestalg SHA1 -keystore debug.keystore -verbose out.apk test *1
# 署名の確認(必須ではない)
4) jarsigner -verify -verbose -certs hoge2.apk
# 端末にインストール
5) adb install -r hoge2.apk
(-r オプションはデータを保持してアプリのみを上書きするオプション)
debug.keystoreやjarsignerの場所がわからなければ、
Everythingのようなファイル検索アプリを利用すればOK
*1:debug.keystoreである必要はない