apktoolというツールを使うと、apkファイル(Androidで使われているアプリケーション)が.smaliで展開されます。
AndroidManifest.xml や リソースファイルも見れるので超便利。
Macで試してみたのでメモ。
apktoolのインストール手順 for Mac
1. プロジェクトからアーカイブをダウンロード
ターミナルコマンドで apktool をダウンロードします。
$ sudo curl -O http://android-apktool.googlecode.com/files/apktool-install-macosx-r04-brut1.tar.bz2 $ sudo curl -O http://android-apktool.googlecode.com/files/apktool1.4.1.tar.bz2
2. /usr/local/binに展開
ターミナルコマンド で apktool を展開しインストールします。
$ sudo mv apktool* /usr/local/bin/ $ sudo cd /usr/local/bin/ $ sudo tar jxvf apktool-install-macosx-r04-brut1.tar.bz2 x aapt x apktool $ sudo tar jxvf apktool1.4.1.tar.bz2 x apktool.jar
そのままだと「Permission denied」というエラーが出るため sudo
を付けてroot権限でコマンドを実行しています。
もし、mv
コマンドで「No such file or directory」と怒られたら、ディレクトリが無いという事なので mkdir
コマンドでディレクトリを作ります。
$ sudo mkdir /usr/local $ sudo mkdir /usr/local/bin
3. 逆コンパイルしたいapkファイルを展開する
実際に使えるかどうか試してみるために、適当なapkファイル(例:hoge.apk)を拾ってきたら以下をターミナルコマンドで実行。
$ cd [hoge.apkのあるディレクトリ] $ apktool d hoge.apk
キタコレ!!