当前位置: 首页 > 编程笔记 >

使用python编写脚本获取手机当前应用apk的信息

宇文修筠
2023-03-14
本文向大家介绍使用python编写脚本获取手机当前应用apk的信息,包括了使用python编写脚本获取手机当前应用apk的信息的使用技巧和注意事项,需要的朋友参考一下

前提是已设置ANDROID_HOME环境变量,使用aapt工具获取apk的信息,保存至脚本所在目录下的PackageInfo.txt文件中:

import os 
import tempfile 
import re 

tempFile = tempfile.gettempdir() 

def get_aapt(): 
if "ANDROID_HOME" in os.environ: 
rootDir = os.path.join(os.environ["ANDROID_HOME"], "build-tools") 
for path, subdir, files in os.walk(rootDir): 
if "aapt.exe" in files: 
return os.path.join(path, "aapt.exe") 
else: 
return "ANDROID_HOME not exist" 

def get_current_package_name(): 
pattern = re.compile(r"[a-zA-Z0-9\.]+/.[a-zA-Z0-9\.]+") 
os.popen("adb wait-for-device") 
out = os.popen("adb shell dumpsys input | findstr FocusedApplication").read() 
package_name = pattern.findall(out)[0].split("/")[0] 

return package_name 

def get_match_apk(package_name): 
list = [] 
for packages in os.popen("adb shell pm list packages -f " + package_name).readlines(): 
list.append(packages.split(":")[-1].split("=")[0]) 
apk_name = list[0].split("/")[-1] 
os.popen("adb pull " + list[0] + " " + tempFile) 

return tempFile + "\\" + apk_name 

if __name__ == "__main__": 
os.popen(get_aapt() + \ 
" dump badging " + \ 
get_match_apk(get_current_package_name()) + \ 
" > PackageInfo.txt") 
os.popen("del " + tempFile + "\\*.apk")
 类似资料:
  • 本文向大家介绍使用python编写批量卸载手机中安装的android应用脚本,包括了使用python编写批量卸载手机中安装的android应用脚本的使用技巧和注意事项,需要的朋友参考一下 该脚本的功能是卸载android手机中安装的所有第三方应用,主要是使用adb shell pm、adb uninstall 命令,所以使用的前提是需要配好adb的环境变量,下面上代码:

  • 问题内容: 我正在尝试获取当前正在运行的Python脚本的名称。 我有一个名为的脚本,我想做这样的事情以获得脚本名称: 问题答案: 您可以使用获取当前文件的名称。在主模块中使用时,这是最初调用的脚本的名称。 如果要省略目录部分(可能存在),可以使用。

  • 问题内容: 我如何获得Node.js中脚本的路径? 我知道有,但是仅指脚本被调用的目录,而不是脚本本身的目录。例如,假设我进入并运行以下命令: 如果我打电话,我不会。有没有办法获取该目录? 问题答案: 我再次浏览文档后才发现它。我在寻找的是和模块级别的变量。 是当前模块的文件名。这是当前模块文件的解析绝对路径。(例如:) 是当前模块的目录名称。(例如:)

  • 问题内容: 我想在Python脚本的输出中包括当前的git哈希(作为生成该输出的代码的 版本号 )。 如何在Python脚本中访问当前的git哈希? 问题答案: 该命令是创建代码的人为表示的“版本号”的好方法。从文档中的示例中: 使用git.git之类的当前树,我得到: 即我的“父”分支的当前头基于v1.0.4,但是由于它的顶部还有一些提交,describe添加了额外的提交数量(“ 14”)和该提

  • 本文向大家介绍使用Java获取当前时间信息,包括了使用Java获取当前时间信息的使用技巧和注意事项,需要的朋友参考一下 导入以下程序包以与Java中的Calendar类一起使用, 现在创建一个日历类。 要显示整个时间信息,请使用以下字段。 以下是最后一个示例。 示例 输出结果

  • 问题内容: 如果我有PHP脚本,如何从该脚本内部获取文件名? 另外,给定表单脚本的名称,我如何仅提取“ jquery.js”部分? 问题答案: 只需使用PHP魔术常数 即可获取当前文件名。 但是似乎您想要没有的部分。所以… 一个更通用的文件扩展名去除器如下所示… 如您所料,使用标准的字符串库函数要快得多。