我想要为脚本提取apk的包名。
我可以用这样的
列出包名./aapt dump badging <apk.path> | grep package
输出看起来像这样
package: name='com.example.app' versionCode='' versionName='4.6.10' platformBuildVersionName='6.0-2166767'
所以我想运行aapt命令,它只返回com.example.app
我认为它会是类似的,但仍会返回所有内容。
./aapt dump badging <apk.path> | egrep package:\ name='(.*?)'
答案 0 :(得分:0)
再次使用import string
def main():
try:
#file=input('Enter the name of the file you wish to open: ')
thefile=open('C:/Projects/Python/data.txt','r')
line=thefile.readline()
line = line.translate(string.maketrans("",""), string.punctuation)
thefilelist=line.split()
d={}
for item in thefilelist:
if item not in d:
d[item] = 0
d[item] = d[item]+1
for i in d.items():
print(i)
thefile.close()
except IOError:
print('IOError: Sorry but i had an issue opening the file that you specified to READ from please try again but keep in mind to check your spelling of the file you want to open')
main()
:
grep
这使用grep -Po "(?<=name=')[^']*" file
erl regex打印P
o
之后到name='
之后的内容。
'
答案 1 :(得分:0)
通过执行多个greps和一些正则表达式来完成它。以下是我的工作。不确定它是否是最好的方式,但有效。
$ aapt dump badging <path.to.apk> | grep package | grep -Eo '[a-z]+\.\w+\.\w+'
$ com.example.app