この記事は Android Advent Calendar 2017 の6日目の記事です。
APK AnalyzerのGUI版はAndroidStudio2.2からAndroidStudio上で使えてました。
それが、いつの間にかコマンドラインからも使えるようになってました。
apkanalyzerコマンドの使い方
簡単な使い方をいくつか紹介したいと思います。
実行ファイルは <android_sdk_path>/tools/bin/apkanalyzer にあります。
APKファイルサイズを取得
$ apkanalyzer -h apk file-size <apk_file_path>
455.9KB
-h
をつけると人が読みやすい感じに出力してくれます。
Permissionの一覧を取得する
$ apkanalyzer manifest permissions <apk_file_path>
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_NETWORK_STATE
ライブラリが追加してるPermission含まれるので、自分で追加してないものも確認できます。
メソッドリファレンス数を取得
$ apkanalyzer dex references <apk_file_path>
classes.dex 26849
64K問題もあるので、簡単に調べられるのはありがたいです。
簡単な使い方としてはこんな感じになります。ドキュメント見ればだいたい分かるかなと思います。
Dangerから使う
コマンドラインだけの紹介だけだと面白くないので、これをDangerから使います。
Dangerについての詳細について省略しますが、ザックリ言うと、CIからPull Requestに対して処理をして、コメントをつけたりラベルをつけたりできます。
Dangerからapkanalyzerを使うプラグインを作ってみました。
使い方等をGitHubのほうを見ていただければ。
apkanalyzerを実行した結果をPull Requestのコメントに投稿します。下のような感じです。
今のところ、ファイルサイズとPermission一覧とメソッドリファレンス数のみに対応しています。他に対応してほしいものあれば、IssueなりPull Requestなりをください。暇を見て対応しますので。
まとめ
apkanalyzerコマンド便利。Danger便利。