ATX 查看包名和 Main Activity 的小工具

codeskyblue · June 06, 2018 · Last by cotyyang replied at December 13, 2018 · 4191 hits

前言

一直以来查看apk文件的包名和main activity都很麻烦。
以前有说用aapt工具的,但是还要安装android sdk和使用命令行操作,也不简单。
所以想着如果可以右键APK文件,就可以看到包名之类的信息该多好。
趁着因为工作原因要研究Tkinter的机会,顺手写了这么一个工具分享给大家。

依赖

  • 一台Windows电脑
  • Python3的环境 (PS: 对不起Python2的用户,已经抛弃你们了)
  • 安装好Git

安装方法

$ pip install git+https://github.com/codeskyblue/apkutils

一切顺利的话,这样就安装好了。

安装完后先运行一下 python -m apkutils.gui 点击绑定按钮,那个按钮应该是英文的,反正点了就是。

然后随便找一个APK文件,右键这个安装包。选择APK Parser 就可以看到类似这样的界面了。

简单又方便。

源码地址

工具使用了 https://github.com/mikusjelly/apkutils 做apk的文件解析,使用python自带的tkinter做GUI。

GUI源码可以在这个里面看到: https://github.com/codeskyblue/apkutils

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 17 条回复 时间 点赞

Appetizer的APK文件工具飘过😀

先赞为敬👍

—— 来自TesterHome官方 安卓客户端

点绑定按钮没任何反应,之后右键apk选择APK Parser,报错:该文件没有与之关联的应用来执行该操作......

KD 回复

win几啊

win10 64位,python34.
刚才重启命令行,重新执行绑定命令。有如下报错信息:

<PyHKEY:0x000006C6>
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
return self.func(*args)
File "C:\Python34\lib\site-packages\apkutils\gui\__main__.py", line 24, in _bind_apk_right_menu
"../../../imgs/android.ico").resolve())
File "C:\Python34\lib\pathlib.py", line 1027, in resolve
s = self._flavour.resolve(self)
File "C:\Python34\lib\pathlib.py", line 182, in resolve
return self._ext_to_normal(_getfinalpathname(s))
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\\Python34\\lib\\site-packages\\apkutils\\gui\\__main__.py\\..\\..\\..\\imgs\\android.ico'
KD 回复

ico路径写错了,已修复,多谢反馈。卸载重新安装下就好

pip uninstall apkutils
pip install git+https://github.com/codeskyblue/apkutils
codeskyblue 回复

卸载重装后,还是不行,路径应该还是不对

<PyHKEY:0x000006C6>
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
return self.func(*args)
File "C:\Python34\lib\site-packages\apkutils\gui\__main__.py", line 24, in _bind_apk_right_menu
"../android.ico").resolve())
File "C:\Python34\lib\pathlib.py", line 1027, in resolve
s = self._flavour.resolve(self)
File "C:\Python34\lib\pathlib.py", line 182, in resolve
return self._ext_to_normal(_getfinalpathname(s))
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\Python34\\lib\\site-packages\\apkutils\\gui\\__main__.py\\..\\android.ico'
KD 回复

这么蛋疼,你试试python 3.6吧,改不动了

昨天看你在群里也发了 😁

不支持mac,只支持windows

codeskyblue 回复

升级了python最新版本3.6.5,终于正常了

以前我是写bat借助aapt实现的

KD 回复

😀

@codeskyblue 我没看前置条件。我错了

大佬,这个工具我点了绑定后没反应。。python是3.6.5,应该没问题吧。
而且uiautomator2里面不是有个d.current_app(),可以直接看到package和activity吗,感觉方便一点,还不用下apk

codeskyblue 专栏文章:2018年 终总结 中提及了此贴 18 Feb 10:26
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up