android获取包名的几种方法

方法一:

adb shell pm list package -f

将获取手机内所有apk对应的包名和路径

 

方法二:

adb shell dumpsys window w | findstr \/ | findstr name=

先打开需要查找的apk后,再敲入以上命令

  备注:此方法不一定准确。对于使用qq的时候出现的了问题

 com.tencent.mobileqq/com.tencent.mobileqq.activity.LoginActivity  (这是方法2,但是不能启动)

com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity  (这是方法3,可以启动)

 

方法三:

C:\Users\Administrator>adb shell
root@msm8916_32_512:/ # logcat | grep android.intent.category.LAUNCHER

 

方法四:

adb shell dumpsys activity > d:\log.txt

先启动需要的查找的apk,再敲入以上命令,在stack #1下查找cmp=

 

方法五:

C:\Users\Administrator>adb shell
root@msm8916_32_512:/ # logcat | grep START

 

附:

 

在网上找到的查找应用包名和入口activity的方法

方法六:

 

使用aapt    
//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以QQ音乐为例,命令行中切换到aapt.exe目录执行:aapt dump badging C:\Users\Administrator\Desktop\QQyinle_155.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name='com.tencent.qqmusic'
launchable-activity: name='com.tencent.qqmusic.activity.AppStarterActivity'
 
方法七:
查看AndroidManifest.xml
1.使用apktool反编译app:apktool d QQyinle_155.apk E:\apk\QQYinyue
2.打开AndroidManifest.xml
manifest节点的package属性值是应用的包名:<manifest package=”com.estrongs.android.pop”>
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,
android.intent.action.MAIN决定应用程序最先启动的Activity
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里

方法八:

 

adb shell dumpsys activity | grep "activity"

打开apk后执行以上命令。

 

 方法 九:adb shell dumpsys window | findstr mCurrentFocus

 

posted on 2018-07-30 17:58  littlefive  阅读(23352)  评论(0编辑  收藏  举报

导航