使用Python脚本和ADB命令实现卸载App
程序员文章站
2024-02-20 23:04:22
前言
本文实现一个 Python 脚本,用来批量卸载模拟器或者实体机上面的 App 以及清除 LogCat 缓存。
开发 Android 的朋友,模拟器或者手机里面常常...
前言
本文实现一个 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'
效果实现
使用方式
- 确保你的 AS 能够使用 ADB 命令
- 配置 Python 2.7 环境(3+ 应该也没有问题)
- 在 AS 提供的 CMD 中找到当前脚本路径 输入:
python unistall.py
- 根据命令提示输入你想要删除 App 的包的核心关键字,如:
com.example.RxCacheDemo
,输入 example 即可(每个人 AS 的这个配置应该都是一样的) - 以上步骤完成之后会有提示 删除成功与否。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。