python如何获取apk的packagename和activity

yipeiwu_com6年前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设计】。

相关文章

Django中使用 Closure Table 储存无限分级数据

这篇文章给大家介绍Django中使用 Closure Table 储存无限分级数据,具体内容如下所述: 起步 对于数据量大的情况(比如用户之间有邀请链,有点三级分销的意思),就要用到 c...

python 监听salt job状态,并任务数据推送到redis中的方法

salt分发后,主动将已完成的任务数据推送到redis中,使用redis的生产者模式,进行消息传送 #coding=utf-8 import fnmatch,json,logging...

python__name__原理及用法详解

python__name__原理及用法详解

1、python中__name__是什么意思? 很多python的初学者可能都会遇到一个问题:__name__是什么意思? 在刚开始学习python的时候,我们总会看到这样一句代码:...

PyQt5 pyqt多线程操作入门

首先来看一个例子: # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQ...

Python的缺点和劣势分析

Python的短板 虽然Python拥有很多优点,但没有哪种编程语言能够胜任所有工 作,因此Python并不能完美地满足一切需求。如果要确定Python是否适 用于当前场景,还需要了解...