一、只有Apk的情况
(1)aapt 使用命令行aapt dump xmltree ColaBox.apk AndroidManifest.xml
(2)使用apktool 使用反编译工具apktool,反aaaa编译后打开AndroidManifest.xml文件,查找方式同“有源码情况”
(3)aapt
二、有源码情况
直接打开AndroidManifest.xml文件,找到包含android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity。
如下图中第三行package为com.cola.ui,第七行主Activity为com.cola.ui.ColaBox(.ColaBox为Activity简写方式)。
三、没有apk,应用已经安装到手机或虚拟机中
1.logcat 清除logcat内容,使用命令adb logcat -c
启动logcat,使用命令adb logcat ActivityManager:I *😒
启动要查看的程序
2.dumpsys
(1)启动要查看的程序;
(2)命令行输入:adb shell dumpsys window w |findstr / |findstr name=
补充:使用adb shell dumpsys window | findstr mCurrentFocus 命令查看当前运行的包名和Activity更清晰一些。
三、app包名查看:
a.手机安装包名查看器’
b.aapt命令 aapt dump badging *.apk 如:aapt dump badging C:\Users\Dell\Desktop\test.apk
在第一行显示 package:name="com.test.bs"即为包名
往后面翻,会看到 launchable-activity:"com.test.bs.main.view.SplashActivity"即为包名主activity
c、源码下的AndroidManifest.xml文件查看
命令:aapt dump xmltree aaa.apk AndroidManifest.xml
包名:package:name="com.test.bs"即为包名
主activity:往后面翻,会看到 launchable-activity:"com.test.bs.main.view.SplashActivity"即为包名主activity
也可以使用重定向的方式输入到指定文件:
命令:
aapt dump xmltree aaa.apk AndroidManifest.xml > 1.txt
如:aapt dump xmltree C:\Users\Dell\Desktop\test.apk AndroidManifest.xml > C:\Users\Dell\Desktop\1.txt
d.adb logcat抓取当前Android机运行的app的包名( I/ActivityManager(数字): Displayed 包名/类
名: +ms )
命令行输入 adb logcat >e:\bag.txt
手机操控app,ctrl+c停止
去e:\bag.txt这个文件下搜索关键字如Displayed ,一般都能找到
四、用adb shell命令查看APP的报名和activity
1、用命令查看APP安装的全部包
adb shell “pm list package -f | grep test”
2、用包名查找APP的主activity
adb shell dumpsys package com.test.bs