使用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 正则表达式(转义问题)
Dec 15 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
numpy使用技巧之数组过滤实例代码
Feb 03 Python
python实现linux下抓包并存库功能
Jul 18 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
Python实现像awk一样分割字符串
Sep 15 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
Python识别处理照片中的条形码
Nov 16 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
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
php下获取客户端ip地址的函数
2010/03/15 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript hashtable 修正版 下载
2010/12/30 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python 算法 排序实现快速排序
2012/06/05 Python
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
ASP.NET Core中的配置详解
2021/02/05 Python
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
商场总经理岗位职责
2014/02/03 职场文书
幼儿教师研修感言
2014/02/12 职场文书
平面设计求职信
2014/03/10 职场文书
高中同学会致辞
2015/08/01 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书