import os
def getName(AAPTLocation, apkFile):
AAPTLocation = AAPTLocation.replace('\\','\\\\')
apkFile = apkFile.replace('\\','\\\\')
pname = ''
cmd = ' \"\"' + AAPTLocation + '\" dump badging \"' + apkFile + '\"\"'
p = os.popen(cmd)
while 1:
s = p.readline()
if s:
print s
if s.find('package') != -1 and s.find('name') != -1:
pname = s
if not s:
break
p.close()
return pname
AAPTLocation = 'C:\Program Files\Android\android-sdk\platform-tools\aapt.exe'
apkFile = 'C:\APKs\test.apk'
print getName(AAPTLocation, apkFile)
我需要运行 aapt.exe,获取 apk 的包名并解析结果。
直接在命令行界面中运行“C:\Program Files\Android\android-sdk\platform-tools\aapt.exe”转储标记“C:\APKs\test.apk”工作正常。然而,在我粘贴在上面的 python 脚本中,它并没有给我任何东西。
我已经尝试转义反斜杠,但它根本没有任何区别。我的代码有问题吗?