Android之查找apk包名和启动入口类

最近拿到一台用户主界面深度定制过的Android设备:没有返回键、没有程序列表、主界面上的按钮只能启动指定的app,通过adb install 命令安装test.apk后,设备找不到任何页面、按钮去启动运行它。

只能借助adb shell am start -n 我的包名 /. Activity类名(入口类)  来启动了!那么如何去找到包名、入口类呢?

 

方法1:

把test.apk 改成test.zip,解压得到AndroidManifest.xml 文件,用记事本打开查看,但这里面会遇到乱码、字体带空格,不好查。

 

方法2:

利用aapt工具。

  • aapt 全称是Android Asset Packaging Tool,我们对应用打包时,一般都是由gradle自动调用aapt,将资源文件编译成二进制文件。
  • aapt 位于SDK的build-tools目录下
  • 打开该目录后,我们会发现aapt、aapt2 两个长得很像,主要区别在于:aapt2是在aapt上做了优化,Android Gradle Plugin 3.0.0 及以上版本默认使用 aapt2。

示例:查找wx.apk入口类

1、使用cmd 跳转到aapt所在目录
Android之查找apk包名和启动入口类_第1张图片

Android之查找apk包名和启动入口类_第2张图片

 

2、执行以下命令:aapt dump badging C:\Users\xglv\Desktop\demo\weixin_1560.apk  > D:/info.txt

Android之查找apk包名和启动入口类_第3张图片

Android之查找apk包名和启动入口类_第4张图片

3、查找包名和入口类:

Android之查找apk包名和启动入口类_第5张图片

Android之查找apk包名和启动入口类_第6张图片

 

4、通过命令,启动应用

包名:com.tencent.mm
入口类:com.tencent.mm.ui.LauncherUI
执行:adb shell am start -n com.tencent.mm/.ui.LauncherUI  即可启动!

 

你可能感兴趣的:(Android,破解/反编译)