Задача: узнать название пакета Android-приложения в формате apk и запускаемого активити.
Решение:
Способ 1
Можно взять и открыть AndroidManifest.xml, чтобы посмотреть нужные данные, к примеру, через команду cat:
cat <path_to_apk>
Пример вывода:
versionCode minSdkVersiontargetSdkVersionnameprotectionLevel versionName allowBackuphardwareAcceleratediconlabelthemescreenOrientation launchMode permissionvalueandroid*http://schemas.android.com/apk/res/ androidpackagmanifestcom.mobileshop2.uses-sdkuses-permissionandroid. permission.INTERNETandroid.permission.WAKE_LOCK)android.permission. ACCESS_COARSE_LOCATIONandroid.permission.VIBRATE)com.mobileshop. permission.C2D_MESSAGE*com.google.android.c2dm.permission.RECEIVE applicatioactivitycom.intent-filteractionandroid.intent.action. MAIcategory android.intent.category.LAUNCHEreceiver'com.mobileshop. GcmBroadcastReceiver'com.google.android.c2dm.permission.SEND&com. google.android.c2dm.intent.RECEIVEservice#com.mobileshop. GcmIntentService meta-dataserver_addresshttp://mobileshop.com/D
Большая часть содержимого файла AndroidManifest.xml является нечитабельной, т.к. сам файл является двоичным, а то, что поддается чтению, имеет не самый удобный формат для восприятия. Мы видим, что имя пакета имеет название com.mobileshop, но мы не видим название запускаемого активити.
Способ 2
Можно воспользоваться услугами утилиты AAPT (Android Asset Packaging Tool), которая представляет из себя упаковщик для сборки приложения, библиотек и ресурсов в единый apk-файл. Утилита входит в состав Android SDK и располагается в моем случае в директории /Applications/AndroidSDK/build-tools/17.0.0/.
Чтобы узнать название пакета apk-приложения:
./aapt dump badging <path_to_apk> | grep "package"
Пример вывода:
package: name='com.mobileshop' versionCode='13' versionName='2.0'
Чтобы узнать название запускаемого активити apk-приложения:
./aapt dump badging /User/Desktop/HTC_Market_v2.0.apk | grep "launchable-activity"
Пример вывода:
launchable-activity: name='com.mobileshop.MainActivity' label='Mobile Shop' icon=''