有以下四種方法可以查看apk的包名,之后有別的方法,會接着更新文檔的。
1. 安裝APK包名查看器;
2. 源碼AndroidManifest.xml中查看package包名;
3. 利用"*\adt-bundle-windows-x86-20130917\sdk\tools\hierarchyviewer.bat"獲取當前活動package的包名,同時可以獲取控件的坐標和ID;
4. 利用aapt查看包名: tools或者platform tools或者sdk/build-tools/aapt.exe(進入cmd)
aapt dump badging *.apk
由於輸出信息比較多,容易覆蓋包名,建議把info輸出到txt文件中:
aapt dump badging *.apk >info.txt
輸出如下:
Package Groups (1)
Package Group 0 id=127 packageCount=1 name=com.chartcross.gpstest
Package 0 id=127 name=com.chartcross.gpstest typeCount=11
type 0 configCount=1 entryCount=32
spec resource 0x7f010000 com.chartcross.gpstest:attr/adSize: flags=0x00000000
spec resource 0x7f010001 com.chartcross.gpstest:attr/adSizes: flags=0x00000000
spec resource 0x7f010002 com.chartcross.gpstest:attr/adUnitId: flags=0x00000000
5. adb logcat抓取當前運行的apk的包名:ActivityManager(數字):Displayed 包名/類名:+ **ms
adb logcat > log.txt (從最后log開始找或者搜索關鍵字)
輸出如下:
I/ActivityManager( 506): Displayed com.android.gallery3d/.app.GalleryActivity: +1s89ms
I/ActivityManager( 506): Process com.android.music (pid 1009) has died
W/BlobCache( 1520): cannot read header
D/ ( 136): RPCSendMsgToClient: remote_app_id = 0, context_id = 0
D/ ( 162): AppRecvFromRPCIFTask: recieved_bytes = 54
D/ ( 162): IPC ReadCB: RSP/IND idx(91)
D/ ( 156): AppRecvFromRPCIFTask: recieved_bytes = 54
又或者以關鍵字"android.intent.category.LAUNCHER"搜索:
W/RenderThread( 1030): type=1400 audit(0.0:86): avc: denied { read write } for path="/dev/mali" dev="tmpfs" ino=11374 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:device:s0 tclass=chr_file
I/ActivityManager( 506): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.android.gallery3d/.app.GalleryActivity (has extras)} from uid 10008 on display 0
D/MSM ( 134): event = change@/devices/rk818.196/rk818-battery/power_supply/BATTERY
D/MSM ( 134): event = !modem event ignore
D/MSM ( 134): --> wait for event