Androidのapkパッケージファイルの中に含まれているAndroidManifest.xmlファイルは、バイナリ形式にエンコードされているため、そのままではテキストエディタ等で読むことができません。
以下の手順で、エンコードされているAndroidManifest.xmlをテキストエディタで人間が読める形にデコードすることができます。
解析したいアプリのapkパッケージを用意する
自分でいま作成しているアプリの場合は、わざわざこんな手順を踏まなくてもAndroidManifest.xmlを直接読めばよいので問題ないと思いますが、過去にリリース済みのソフトで、ソースコードも無くなってしまったようなアプリの場合は、以下のいずれかの方法でアプリパッケージを用意することができます。
アプリパッケージを用意する方法
- Google Playからapkファイルを直接ダウンロードする
- ASTROファイルマネージャ等で端末内のアプリをバックアップする
いずれの方法も、検索するとすぐに方法は見つかります。
パッケージを用意できたら、ファイルの拡張子(~.apk)を~.zipに変更して、パッケージを解凍してください。
こんな感じで、AndroidManifest.xmlが解凍できれば準備完了です。
AXMLPrinter2.jarをダウンロードする
以下のサイトから、AXMLPrinter2.jarをダウンロードします。
-
Google Code Archive - Long-term storage for Google Code Project Hosting.
続きを見る
AndroidManifest.xmlをデコードする
コマンドプロンプト等で以下のコマンドを実行すると、AndroidManifest.xmlの内容をoutput.txtに保存できます。
> java -jar "[AXMLPrinter2.jarのパス]" "[AndroidManifest.xmlのパス]" > output.txt
javaのパスが通っていない場合は、Javaがインストールされているフォルダのjava.exeを直接実行してください。
自分の環境では以下にインストールされていました。
C:\Program Files\Java\jdk[Javaのバージョン]\bin
上記の場合は以下のようなコマンドを実行することになります。
> "C:\Program Files\Java\jdk[Javaのバージョン]\bin\java.exe" -jar "[AXMLPrinter2.jarのパス]" "[AndroidManifest.xmlのパス]" > output.txt
保存されたoutput.txtに、AndroidManifest.xmlの中身が出力されていれば成功です。
参考AXMLPrinter2.jarやAndroidManifest.xmlのパスを手軽に入力したい方は、こちらの記事もご覧ください。パスを簡単にコピーすることができるので、あとは貼り付けるだけで上記コマンドを実行できます。
-
ファイルのパスを簡単にコピーする方法
社内のメールなどで、「このファイル、共有フォルダのここに置きました。」とファイルのパスをコピペしたいとき、どうしていますか? 案外知らない人が多い、ファイルのパスのコピーの仕方をご紹介します。 エクス ...
続きを見る