使用Python脚本和ADB命令实现卸载App
发布时间 - 2026-01-10 22:58:37 点击率:次前言

本文实现一个 Python 脚本,用来批量卸载模拟器或者实体机上面的 App 以及清除 LogCat 缓存。
开发 Android 的朋友,模拟器或者手机里面常常有大量调试的 Demo,对于手机来说还好,可是对于模拟器,有可能就会造成调试速度以及启动速度的下降。而且模拟器中 App 一个一个删除也是很麻烦。利用 ADB 命令,我们可以做很多事,其中就包括批量操作模拟器或者手机上的 App。当然包括删除操作啦。利用 Python 脚本和 ADB shell 命令以及 AS 自带的 CMD 窗口,我们就可以将这一切浓缩成一个命令行啦。
核心代码
# 删除所有你指定包名的 APP
def delAllapp( ):
print 'start delete all your app in your Phone or Simulator '
os.popen('adb wait-for-device');
corename = raw_input("input your app package corename:")
oriPackages = os.popen('adb shell pm list packages {name}'.format(name=corename));
# list all PackageName
for oriPackage in oriPackages:
deletePackage = oriPackage.split(':')[1]
os.popen('adb uninstall ' + deletePackage );
print deletePackage + "is deleted"
# 删除所有你指定包名的特定 APP
def listAllpackage( ):
i = 0
os.popen('adb wait-for-device');
corename = raw_input("input your app package corename:")
oriPackages = os.popen('adb shell pm list packages {name}'.format(name=corename));
for oriPackage in oriPackages:
deletePackage = oriPackage.split(':')[1]
print str(i) + ":" + deletePackage
deleteList.append(deletePackage)
i += 1
# 删除指定 App
def deleteApp(number):
os.popen('adb uninstall ' + deleteList[number] );
print 'delete '+ deleteList[number] + "success"
# 清除 LogCat 缓存
def clearLogcat( ):
print 'start clear logcat buffer in your Phone or Simulator'
os.popen('adb wait-for-device');
os.popen('adb logcat -c');
print 'logcat is cleared success'
效果实现
使用方式
- 确保你的 AS 能够使用 ADB 命令
- 配置 Python 2.7 环境(3+ 应该也没有问题)
- 在 AS 提供的 CMD 中找到当前脚本路径 输入:
python unistall.py - 根据命令提示输入你想要删除 App 的包的核心关键字,如:
com.example.RxCacheDemo,输入 example 即可(每个人 AS 的这个配置应该都是一样的) - 以上步骤完成之后会有提示 删除成功与否。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# python
# adb命令
# python调用adb命令
# adb
# 命令
# 卸载系统apk
# 通过python调用adb命令对App进行性能测试方式
# Python实现对adb命令封装
# appium+python adb常用命令分享
# python中adb有什么功能
# 机上
# 就会
# 会有
# 有可能
# 每个人
# 我们可以
# 这一切
# 这篇文章
# 自带
# 中就
# 命令行
# 你想要
# 就可以
# 很麻烦
# 器中
# 中找到
# 是一样的
# 有疑问
# def
# delAllapp
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
nodejs redis 发布订阅机制封装实现方法及实例代码
高端智能建站公司优选:品牌定制与SEO优化一站式服务
javascript基于原型链的继承及call和apply函数用法分析
MySQL查询结果复制到新表的方法(更新、插入)
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
轻松掌握MySQL函数中的last_insert_id()
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
如何做网站制作流程,*游戏网站怎么搭建?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
用yum安装MySQLdb模块的步骤方法
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何用狗爹虚拟主机快速搭建网站?
制作企业网站建设方案,怎样建设一个公司网站?
如何用低价快速搭建高质量网站?
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
太平洋网站制作公司,网络用语太平洋是什么意思?
如何在景安服务器上快速搭建个人网站?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
WEB开发之注册页面验证码倒计时代码的实现
高性价比服务器租赁——企业级配置与24小时运维服务
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
如何正确选择百度移动适配建站域名?
如何用已有域名快速搭建网站?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
桂林网站制作公司有哪些,桂林马拉松怎么报名?
大型企业网站制作流程,做网站需要注册公司吗?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel Fortify是什么,和Jetstream有什么关系
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
phpredis提高消息队列的实时性方法(推荐)
Laravel如何实现本地化和多语言支持?(i18n教程)
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
Laravel怎么使用Intervention Image库处理图片上传和缩放
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
JavaScript如何实现音频处理_Web Audio API如何工作?
中山网站制作网页,中山新生登记系统登记流程?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址

