如何使用AAPT转储时打印指定的参数(how to print a specified parame

2019-10-17 06:05发布

我看到这里的命令

aapt dump badging foo.apk

打印指定包的所有细节。

是否可以打印任何一个属性,说sdkversion? 就像是

aapt dump badging -sdkversion foo.apk

附言:我使用Windows命令提示符。

编辑

我想包名称存储在一个变量。 截至目前,我有这样的代码

@echo off
for /f "delims=" %%a in ('aapt dump badging foo.apk') do (
     REM each line of the output
)

我能够检索输出的每一行。 现在,我不得不从字符串中提取的包名。 例如,第一行是

包:名称= 'com.timeplusq.noob' 的versionCode = '15' =的versionName '1.5'

这是在for循环的第一次迭代中检索。 如何从中提取包的名称。 我以为字符串操作是直接的,事实并非如此。 那么,如何提取字符串包的名称?

Answer 1:

如果您使用的是Windows在Unix系统或具有Cygwin的,你可以尝试下面的命令:

aapt dump badging foo.apk | grep sdkVersion | sed -E "s/^[^:]+:\'(.*)\'$/\1/"

正则表达式将提取的行的由grep命令选择的值

编辑:

在Windows系统中,你可以使用保存为下面的脚本.cmd

@echo off
set property=sdkVersion:'10'
set property=%property:sdkVersion=%
set property=%property:~2,-1%

echo.%property%


文章来源: how to print a specified parameter when using aapt dump