python如何获取apk的packagename和activity

yipeiwu_com5年前Python基础

这篇文章主要介绍了python如何获取apk的packagename和activity,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

实现代码如下:

# 找出packagename和activity
import os
import re
class packagename_activity:
  def get_packagename(self, path):
    aapt = []
    os.system(f'aapt dump badging {path}> ../xc_logs/AaptLog.txt')
    with open('../xc_logs/AaptLog.txt', 'rb') as f:
      p1 = "package: name='(.+?)'"
      results1 = re.finditer(pattern=p1, string=f.readline().decode('utf-8'))
      for r in results1:
        packagename = r.group(1)
        aapt.append(packagename)
      p2 = "launchable-activity: name='(.+?)'"
      st = str(f.readlines())
      results2 = re.findall(p2, st)
      activity = results2[0]
      aapt.append(activity)
    return aapt
if __name__ == '__main__':
  a=packagename_activity()
  b=a.get_packagename('../xc_apk/wangyiyunyinyue.apk')
  print(b)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python标准库与第三方库详解

本文详细罗列并说明了Python的标准库与第三方库如下,供对此有需要的朋友进行参考: Tkinter———— Python默认的图形界面接口。 Tkinter是一个和Tk接口的模块,Tk...

python多线程实现TCP服务端

python多线程实现TCP服务端

本文实例为大家分享了python多线程实现TCP服务端的具体代码,供大家参考,具体内容如下 需求 1.创建一个TCP服务器接收服务端发送的信息并给予答复 2.以多线程方式实现接收...

浅谈Python在pycharm中的调试(debug)

浅谈Python在pycharm中的调试(debug)

作为一名程序员,调试(debug)程序是一项必会的事情,在利用pycharm这个pythonIDE时,不好好利用其调试功能真的是太可惜了。 借用这两天学习机器学习的工程。 在Deep_...

基于Django contrib Comments 评论模块(详解)

老版本的Django中自带一个评论框架。但是从1.6版本后,该框架独立出去了,也就是本文的评论插件。 这个插件可给models附加评论,因此常被用于为博客文章、图片、书籍章节或其它任何东...

python matplotlib实现双Y轴的实例

python matplotlib实现双Y轴的实例

如下所示: import matplotlib.pyplot as plt import numpy as np x = np.arange(0., np.e, 0.01) y1...