概要
Android アプリケーションパッケージであるところの apk ファイルから取得できる諸々の情報。
パッケージ名 (バンドルID)
$ aapt l -a hoge.apk | grep "A: package"
A: package="com.abc.hoge" (Raw: "com.abc.hoge")
アプリケーション名・アイコン
$ aapt d badging hoge.apk | grep "application:"
application: label='HogeApp' icon='res/drawable/app_icon.png'
$ unzip hoge.apk
$ ls -l res/drawable/app_icon.png
-rw-rw-rw- 1 user 0 8121 2015-10-01 00:00 res/drawable/app_icon.png
アプリケーションバージョン
$ aapt l -a hoge.apk | grep "android:version"
A: android:versionCode(0x0101021b)=(type 0x10)0x4
A: android:versionName(0x0101021c)="1.4" (Raw: "1.4")
SDKバージョン
$ aapt l -a hoge.apk | grep "SdkVersion"
A: android:minSdkVersion(0x0101020c)=(type 0x10)0x4
A: android:targetSdkVersion(0x01010270)=(type 0x10)0xf
メインアクティビティ
$ aapt d badging hoge.apk | grep "activity"
launchable-activity: name='com.abc.hoge.MyActivity' label='HogeApp' icon=''
全アクティビティ
$ aapt dump xmltree hoge.apk AndroidManifest.xml | grep -A 3 "E: activity"
…
E: activity (line=18)
A: android:label(0x01010001)=@0x7f050000
A: android:name(0x01010003)="com.abc.hoge.MyActivity" (Raw: "com.abc.hoge.MyActivity")
A: android:configChanges(0x0101001f)=(type 0x11)0x40000fff
--
E: activity (line=26)
A: android:theme(0x01010000)=@0x103000a
A: android:label(0x01010001)=@0x7f050000
A: android:name(0x01010003)="com.abc.hoge.SecondActivity" (Raw: "com.abc.hoge.SecondActivity")
--
E: activity (line=30)
A: android:theme(0x01010000)=@0x1030010
A: android:label(0x01010001)=@0x7f050000
A: android:name(0x01010003)="com.facebook.FacebookActivity" (Raw: "com.facebook.FacebookActivity")
…
パーミッション
$ aapt l -a hoge.apk | grep -i permission
…
E: uses-permission (line=4)
A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
E: uses-permission (line=6)
A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw: "android.permission.ACCESS_NETWORK_STATE")
…
署名 (キーストア)
$ unzip hoge.apk
$ keytool -printcert -file META-INF/CERT.RSA
所有者: C=JP, ST=Tokyo, L=Dokoka, O=Abc Inc.
発行者: C=JP, ST=Tokyo, L=Dokoka, O=Abc Inc.
シリアル番号: xxxxxxx
有効期間の開始日: Sat Aug 01 12:00:00 JST 2015終了日: Mon Aug 01 12:00:00 JST 2050
証明書のフィンガプリント:
MD5: XX:XX:…:XX:XX
SHA1: XX:XX:…:XX:XX
SHA256: XX:XX:…:XX:XX
署名アルゴリズム名: SHA1withRSA
バージョン: 3
クラス
$ d2j-dex2jar hoge.apk
$ unzip *.jar
$ ls -lR
…
./com/google/ads:
AdRequest$ErrorCode.class
AdRequest$Gender.class
AdRequest.class
AdSize.class
mediation
…
./com/facebook/messenger:
MessengerThreadParams$Origin.class
MessengerThreadParams.class
MessengerUtils.class
ShareToMessengerParams.class
ShareToMessengerParamsBuilder.class
…