Python Python实现批量安装android apk包

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: Python Python实现批量安装android apk包

基于Python实现批量安装android apk包

 


1.相关软件包及文件下载

下载地址:adb软件包及批量安装apk包的py文件.zip

 

2.测试环境

Win7 64

 

Python 3.3.2

 

3.用法及代码show

用法:

.apk包放入apk目录下,然后进入到install_apk_once_many.py所在目录,运行程序:

 

python install_apk_once_many.py

 

运行结果:

 



 

 

代码展示

#!/usr/bin/env python
# -*- coding:utf-8 -*-

__author__ ='shouke'

importsubprocess
importos


workdir = os.getcwd()
apk_path = os.path.join(workdir,'apk')
adb_apth = os.path.join(workdir,'adb.exe')

p = subprocess.Popen(adb_apth +' root',stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True,universal_newlines=True)
try:
   p.communicate()
   ifp.returncode:
       print('运行出错,程序已退出')
       exit()
exceptExceptionase:
   p.kill()


filename_list = os.listdir(apk_path)

fail_cnt =0   # 统计安装成功的包数
pass_cnt =0   # 统计安装失败的包数
fail_list = []# 存放安装失败的包文件名

forfilenameinfilename_list:
   ifos.path.splitext(filename)[1] =='.apk':# 判断是否是apk包
       print('正在安装apk包:%s'% filename)
       p = subprocess.Popen(adb_apth +' install -r apk/'+ filename,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True,shell=True)# adb install -r 如果已存在则覆盖安装
       try:
           outs = p.communicate()[0]
           ifouts.find('Success'):
               print('安装成功\n')
               pass_cnt = pass_cnt +1
           else:
               print('安装失败\n')
               fail_cnt = fail_cnt +1
               fail_list.append(filename)
       exceptExceptionase:
           p.kill()

print('安装成功总数:', pass_cnt)
print('安装失败总数:', fail_cnt)
print('安装失败的文件有:', fail_list)

 

注:

adb root   root权限重新启动adb的守护进程

 

 

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
24天前
|
IDE 开发工具 索引
在Python中安装第三方库
在Python中安装第三方库
315 30
|
22天前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
41 4
|
2月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
314 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
2月前
|
XML 数据格式 Python
Python实用记录(五):labelImg安装和使用-----看这篇就够了!
这篇文章介绍了在Windows 10系统中使用Anaconda3安装labelImg工具的方法,包括通过pip安装相关包和从GitHub下载配置,以及一些使用技巧,如修改预定义类别和自动保存功能。
275 3
|
21天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
21天前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
14天前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
24 5
|
22天前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
34 5
|
21天前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
21天前
|
存储 JSON 网络安全
使用 EFS 在 AWS Lambda 上安装 Python 依赖项
使用 aws lambda 时,开发人员面临的常见挑战之一是管理大型 python 依赖项。
26 1