各位用户为了找寻关于使用Python脚本和ADB命令实现卸载App的资料费劲了很多周折。这里教程网为您整理了关于使用Python脚本和ADB命令实现卸载App的相关资料,仅供查阅,以下为您介绍关于使用Python脚本和ADB命令实现卸载App的详细内容
前言
本文实现一个 Python 脚本,用来批量卸载模拟器或者实体机上面的 App 以及清除 LogCat 缓存。
开发 Android 的朋友,模拟器或者手机里面常常有大量调试的 Demo,对于手机来说还好,可是对于模拟器,有可能就会造成调试速度以及启动速度的下降。而且模拟器中 App 一个一个删除也是很麻烦。利用 ADB 命令,我们可以做很多事,其中就包括批量操作模拟器或者手机上的 App。当然包括删除操作啦。利用 Python 脚本和 ADB shell 命令以及 AS 自带的 CMD 窗口,我们就可以将这一切浓缩成一个命令行啦。
核心代码
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36# 删除所有你指定包名的 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 的这个配置应该都是一样的)
以上步骤完成之后会有提示 删除成功与否。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
原文链接:http://allenwu.itscoder.com/uninstall-app-with-adb