#!/usr/bin/env python
#encoding: utf-8
import os
import time
appPackageName = 'XXXXXX'
appPackageList = os.popen('adb shell pm list packages').read()
def check_app_installed():
if appPackageName in appPackageList:
print('app已安装!')
else:
print('未检测到app安装程序,开始执行安装......')
os.popen('adb install D:/Packages/XXX.apk')
a = 0
while appPackageName not in appPackageList:
a += 1
print('正在安装,已进行', a, '秒')
time.sleep(1)
continue
print('安装完成!')
check_app_installed()
这是我具体的实现,执行脚本后,结果可以正常安装app,但是安装完成后无法跳出循环
这次看明白了吧..
import os
appPackageName = "package:com.github.uiautomator"
appPackageList = os.popen('adb shell pm list packages').readlines()
for i in appPackageList:
if appPackageName in i:
print(appPackageName,'存在于',i)
else:
print('不存在')
你加了continue又返回了 , 没有判断就会一直返回循环。 你直接在print后面加个break就行了
#!/usr/bin/env python
#encoding: utf-8
import os
import time
appPackageName = 'XXX'
appPackageList = os.popen('adb shell pm list packages').read()
def check_app_installed():
a = 0
while True:
if appPackageName in appPackageList:
print('app已安装!')
break
else:
os.popen('adb install D:/Packages/XXX.apk')
a += 1
print('正在安装,已进行', a, '秒')
time.sleep(1)
check_app_installed()
试了一下,效果和之前一样,还是跳不出循环