使用egrep获取android app的包名

时间:2015-11-10 22:03:57

标签: android regex grep aapt

我想要为脚本提取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='(.*?)'

2 个答案:

答案 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