我看到了here命令
aapt dump badging foo.apk
打印指定包的所有详细信息。
是否可以打印任何一个属性,比如说sdkversion? 像
这样的东西aapt dump badging -sdkversion foo.apk
P.S我在Windows中使用命令提示符。
修改
我正在尝试将包名存储在变量中。 截至目前,我有这段代码
@echo off
for /f "delims=" %%a in ('aapt dump badging foo.apk') do (
REM each line of the output
)
我能够检索输出的每一行。现在我必须从字符串中提取包名称。 例如,第一行是
package:name ='com.timeplusq.noob'versionCode ='15'versionName ='1.5'
在for循环的第一次迭代中检索。如何从中提取包名称。我认为字符串操作是直截了当的,事实并非如此。 那么如何从字符串中提取包名?
答案 0 :(得分:1)
如果您使用的是Unix系统或在Windows上使用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%