使用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 判断一个进程是否存在
Apr 09 Python
python实现dict版图遍历示例
Feb 19 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
opencv python 2D直方图的示例代码
Jul 20 Python
Python常见数字运算操作实例小结
Mar 22 Python
python打开windows应用程序的实例
Jun 28 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
python 爬取B站原视频的实例代码
Sep 09 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-fpm的配置详解
2013/06/03 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
session 加入redis的实现代码
2016/07/15 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
js实现批量删除功能
2020/08/27 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
在python 中实现运行多条shell命令
2019/01/07 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
Python configparser模块应用过程解析
2020/08/14 Python
python 实现有道翻译功能
2021/02/26 Python
邮政员工辞职信
2014/01/16 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
教师个人培训总结
2015/02/11 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
python开发飞机大战游戏
2021/07/15 Python
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
Python开发五子棋小游戏
2022/04/28 Python