这篇文章主要介绍了使用 Python 脚本和 ADB 命令实现卸载 App 的实现方法,文中给出了完整的示例代码,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
前言
本文实现一个 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 unistall.py
, 输入 example 即可 (每个人 AS 的这个配置应该都是一样的)
- com.example.RxCacheDemo
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
来源: http://www.phperz.com/article/17/0313/324813.html