一键获取Android的appActvity和PackName
大家平常写Appium自动化时,可能写脚本半小时,得有5分钟用来去看Activity,大部分都是通过adb命令的方式来获取。为了提高效率,可以把这个命令放到python里去执行,然后根据规则去筛选出自己想要的信息,好啦。不说废话啦,来个秒找到 AppActivity的脚本吧,帮大家每天多节约5分钟哈
# -* - coding: UTF-8 -* -
import os
from common import const
from common.userConf import UserConf def scan_devices():
"获取当前连接的设备"
result = os.popen("adb devices").read()
print (result)
devices = result.split("\n")[1:]
targets = []
for device in devices:
if device.strip():
tmp = device.split()
if len(tmp)==2 and tmp[1]=='device':
deviceInfo = {}
deviceID = tmp[0]
deviceInfo['id'] = deviceID
deviceInfo["os"] = os.popen("adb -s %s shell getprop ro.build.version.release" % (deviceID)).read().strip()
deviceInfo["name"] = os.popen("adb -s %s shell getprop ro.product.model" % (deviceID)).read().strip().replace(" ", "-") targets.append(deviceInfo)
print (deviceInfo)
return targets def getPackage():
"获取apk的包名和Activity的名字"
apkFile = "/Users/chengyanan/Downloads/AndroidAppPerformance-master/apk/kuai8.apk"
apkPath = os.path.join(const.workSpace, "apk")
commonPath = os.path.join(const.workSpace, "Common")
aapthPath = os.path.join(commonPath, "aapt")
for filename in os.listdir(apkPath):
if filename.endswith(".apk"):
apkFile = os.path.join(apkPath,filename)
break
commonStr = aapthPath+" dump badging "+apkFile
print (commonStr)
result = os.popen(commonStr).read()
lines = result.split("\n") for line in lines:
if line.startswith("package: name="):
UserConf.packageName = line.split()[1].split("=")[1][1:-1]
print (UserConf.packageName)
break
for line in lines:
if line.startswith("launchable-activity: name="):
UserConf.activityName = line.split()[1].split("=")[1][1:-1]
print (UserConf.activityName)
break
if __name__ == "__main__":
getPackage()
scan_devices()
一键获取Android的appActvity和PackName的更多相关文章
- 获取Android 手机屏幕宽度和高度以及获取Android手机序列号
1.获取Android 手机屏幕宽度 1 DisplayMetrics dm = new DisplayMetrics(); 2 this.getWindowManager().getDefaultD ...
- 获取Android设备屏幕分辨率
1.Android 4.3引入的wm工具: a.获取Android设备屏幕分辨率: adb shell wm size b.获取android设备屏幕密度: adb shell wm density ...
- 获取Android自己写好了的apk以及反编译
今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子 你可能有疑问,为什么要那么麻烦,从系 ...
- 获取android源码时repo的错误
今天用repo获取android源码:../bin/repo init -u git://android.git.kernel.org/platform/manifest.git出现问题:问题一:Tr ...
- cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)
链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...
- 如何在不同的语言/平台中获取Android ID
如何在不同的语言/平台中获取Android ID 最近开发工作中需要使用到AndroidID,在Unity和native code中也需要使用,java获取很方便,Unity中也不难,最难的是在nat ...
- 一键安装Android开发环境
一键安装Android开发环境 1 下载tadp-3.0r4-linux-x64.run 进入下面的地址下载: https://developer.nvidia.com/gameworksdownlo ...
- Web项目也能一键打包Android、IOS
随着移动互联网的不断发展,智能手机配置的不断提高,越来越多的年轻人基本都在使用手机,如微信.支付宝等等.已基本成为一种习惯,坐电梯也好.吃饭也好.开车也好,基本都捧着一个手机在那按来按去,开车就不建议 ...
- 获取Android设备唯一标识码
概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一 ...
随机推荐
- 在apache hadoop2.6 上部署hive 并将hive数据源存储于Mysql
集成hive 的前提是apache hadoop 集群能够正常启动. hadoop 版本 apach2.6.0 hive 版本:1.2.1 1.安装mysql 并赋予权限: 1.1:创建hive 用 ...
- leetcode.位运算.136只出现一次的元素-Java
1. 具体题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明:你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1 ...
- 微信公众号开发笔记-验证token
开发 话不多说我们直接进入主题 我们先去微信公众号申请一个公众号: 申请完成之后我们找到开发下的基本配置 然后找到进行基本配置,我们需要一个url地址来验证,这里的地址必需要是外网,Token是我们任 ...
- python-装饰器初识,闭包
函数名的运⽤, 第⼀类对象 ⼀. 函数名的运⽤. 函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 1. 函数名的内存地址 def func(): print("呵呵 ...
- spark复习总结03
1.DataFrame的创建方式 1.1 通过加载外部文件创建 //通过sqlContext读取json文件创建DataFrame DataFrame dataFrame=sqlContext.rea ...
- Python之字典推导式
推导式是个绝妙的东西,列表推导式一出,map.filter等函数黯然失色,自 Python2.7以后的版本,此特性扩展到了字典和集合身上,构建字典对象无需调用 dict 方法. bad numbers ...
- termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed - 获取和设置终端属性,行控制,获取和设置波特率
SYNOPSIS 总览 #include <termios.h> #include <unistd.h> int tcgetattr(int fd, struct termio ...
- k8s容器-运维管理篇
二. 运维和管理 维护参考网址 https://jimmysong.io/kubernetes-handbook/practice/install-kubernetes-on-centos.html ...
- ICPC2008哈尔滨-A-Array Without Local Maximums
题目描述 Ivan unexpectedly saw a present from one of his previous birthdays. It is array of n numbers fr ...
- HTML事件处理程序---内联onclick事件
HTML事件处理程序绑定方法: <input type="button" value="click me" onclick="show(this ...