使用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通过urllib2爬网页上种子下载示例
Feb 24 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
Python数据结构之图的应用示例
May 11 Python
python tkinter界面居中显示的方法
Oct 11 Python
python将list转为matrix的方法
Dec 12 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
Python异常模块traceback用法实例分析
Oct 22 Python
在django中自定义字段Field详解
Dec 03 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
python-地图可视化组件folium的操作
Dec 14 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删除HTMl标签的实现代码
2013/06/30 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
jQuery随机切换图片的小例子
2013/04/18 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
2017/06/13 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
Python中的类与对象之描述符详解
2015/03/27 Python
python选择排序算法实例总结
2015/07/01 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
python添加模块搜索路径方法
2017/09/11 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
学校采购员岗位职责
2014/01/02 职场文书
教师远程培训感言
2014/03/06 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
运动会主持词大全
2015/07/02 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
python图像处理 PIL Image操作实例
2022/04/09 Python