使用Python脚本和ADB命令实现卸载App


Posted in Python onFebruary 10, 2017

前言

本文实现一个 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'

效果实现

使用Python脚本和ADB命令实现卸载App

使用方式

  1. 确保你的 AS 能够使用 ADB 命令
  2. 配置 Python 2.7 环境(3+ 应该也没有问题)
  3. 在 AS 提供的 CMD 中找到当前脚本路径 输入: python unistall.py
  4. 根据命令提示输入你想要删除 App 的包的核心关键字,如:com.example.RxCacheDemo ,输入 example 即可(每个人 AS 的这个配置应该都是一样的)
  5. 以上步骤完成之后会有提示 删除成功与否。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
Python简单实现enum功能的方法
Apr 25 Python
Python制作钉钉加密/解密工具
Dec 07 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
详解python3中tkinter知识点
Jun 21 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
python实现智能语音天气预报
Dec 02 Python
pandas的resample重采样的使用
Apr 24 Python
Python Dataframe常见索引方式详解
May 27 Python
教你怎么用Python生成九宫格照片
May 20 Python
python3读取文件指定行的三种方法
May 24 Python
Python循环之while无限迭代
Apr 30 Python
Python中str is not callable问题详解及解决办法
Feb 10 #Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 #Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 #Python
简单谈谈Python中的几种常见的数据类型
Feb 10 #Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 #Python
python3中bytes和string之间的互相转换
Feb 09 #Python
python实现下载文件的三种方法
Feb 09 #Python
You might like
BBS(php & mysql)完整版(六)
2006/10/09 PHP
php 一元分词算法
2009/11/30 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
简单实现php上传文件功能
2017/09/21 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
jQuery动画animate方法使用介绍
2013/05/06 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
ECMAScript6--解构
2017/03/30 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
python实现倒计时的示例
2014/02/14 Python
利用Python实现图书超期提醒
2016/08/02 Python
python常见排序算法基础教程
2017/04/13 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
Python绘图实现显示中文
2019/12/04 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
实习自我鉴定模板
2013/09/28 职场文书
急诊科护士自我鉴定
2013/10/14 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
高中学生自我评价范文
2014/09/23 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL