大家平常写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的更多相关文章

  1. 获取Android 手机屏幕宽度和高度以及获取Android手机序列号

    1.获取Android 手机屏幕宽度 1 DisplayMetrics dm = new DisplayMetrics(); 2 this.getWindowManager().getDefaultD ...

  2. 获取Android设备屏幕分辨率

    1.Android 4.3引入的wm工具: a.获取Android设备屏幕分辨率: adb shell wm size b.获取android设备屏幕密度: adb shell wm density ...

  3. 获取Android自己写好了的apk以及反编译

    今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子 你可能有疑问,为什么要那么麻烦,从系 ...

  4. 获取android源码时repo的错误

    今天用repo获取android源码:../bin/repo init -u git://android.git.kernel.org/platform/manifest.git出现问题:问题一:Tr ...

  5. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  6. 如何在不同的语言/平台中获取Android ID

    如何在不同的语言/平台中获取Android ID 最近开发工作中需要使用到AndroidID,在Unity和native code中也需要使用,java获取很方便,Unity中也不难,最难的是在nat ...

  7. 一键安装Android开发环境

    一键安装Android开发环境 1 下载tadp-3.0r4-linux-x64.run 进入下面的地址下载: https://developer.nvidia.com/gameworksdownlo ...

  8. Web项目也能一键打包Android、IOS

    随着移动互联网的不断发展,智能手机配置的不断提高,越来越多的年轻人基本都在使用手机,如微信.支付宝等等.已基本成为一种习惯,坐电梯也好.吃饭也好.开车也好,基本都捧着一个手机在那按来按去,开车就不建议 ...

  9. 获取Android设备唯一标识码

    概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一 ...

随机推荐

  1. angularJS CDN

    http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js

  2. (1.2)学习笔记之mysql体系结构(数据库文件)

    InnoDB存储引擎体系结构图 1.InnoDB数据库的结构 (1)redo log:这里的redo log不是数据的redo log,InnoDB本也是一个数据库,身具有的redo log,所以这里 ...

  3. redis的一些特性

    Redis内存回收 Redis复制原理 Redis提供的高可用方案 Redis提供的分片算法 Redis迁移

  4. OpenSuSe开启sshd服务

    需要测试OpenSuSE11 x64上mysql性能,发现很多东西与centos以及红帽有差别.其中最切身的就是sshd服务的开启. 安装好OpenSuSE 11后,发现ssh连接不上去,可以ping ...

  5. SmartSql简介

    0. Why 拥抱 跨平台 DotNet Core,是时候了. 高性能.高生产力,史上最轻量级的ORM.107kb 1. So SmartSql TargetFrameworks: .NETFrame ...

  6. OI中的快速傅里叶变换(FFT)

    快速傅里叶变换(FFT)                                                                               ---- LLpp ...

  7. elasticsearch依赖的jackson-jar包与jboss依赖的jackson-jar包“版本”冲突

    elasticsearch依赖的jackson-jar包与jboss依赖的jackson-jar包“版本”冲突,导致elasticsearch相关功能在本地tomcat服务器正常,但是部署到jboss ...

  8. 71 Serializable(序列化和反序列化)

    对象的输出流:ObjectOutputStream  把对象输出到文件存储起来,我们称作为序列化对象的输入流:ObjectInputStream   把对象从文件中读取出来,我们称作为反序列化 Obj ...

  9. nodejs的桌面应用(electron)

    最近发现nodejs可以做桌面应用,主要是之前的同事在搞,我也要稍微研究下不能落后啊,基于nodejs的桌面应用,常用的就是nw.js和electron,nw出的比较早,资料比较多,bug也很多,它的 ...

  10. CSP-S2019初赛游记

    考得不好,不过\(86.5\)分应该勉强能进. 比赛前 比赛前的一个星期是有点慌,因为初赛是必须要复习的.初赛和复赛很不一样,复赛可以得一等奖,初赛不一定能考得很好. 最恶心的当然是那些计算机的&qu ...