使用Python脚本和ADB命令实现卸载App

时间:2021-05-22

前言

本文实现一个 Python 脚本,用来批量卸载模拟器或者实体机上面的 App 以及清除 LogCat 缓存。

开发 Android 的朋友,模拟器或者手机里面常常有大量调试的 Demo,对于手机来说还好,可是对于模拟器,有可能就会造成调试速度以及启动速度的下降。而且模拟器中 App 一个一个删除也是很麻烦。利用 ADB 命令,我们可以做很多事,其中就包括批量操作模拟器或者手机上的 App。当然包括删除操作啦。利用 Python 脚本和 ADB shell 命令以及 AS 自带的 CMD 窗口,我们就可以将这一切浓缩成一个命令行啦。

核心代码

# 删除所有你指定包名的 APPdef 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" # 删除所有你指定包名的特定 APPdef 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# 删除指定 Appdef 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 的这个配置应该都是一样的)
  • 以上步骤完成之后会有提示 删除成功与否。
  • 总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章