android - 使用aapt转储时如何打印指定参数

标签 android cmd substring apk aapt

我看到了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 循环的第一次迭代中检索。如何从中提取包名称。我认为字符串操作会很简单,但事实并非如此。 那么如何从字符串中提取包名呢?

最佳答案

如果你在 Unix 系统上或者在 Windows 上有 cygwin,你可以试试这个命令:

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

regexp 将提取由 grep 命令选择的行的值

编辑:

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

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

echo.%property%

关于android - 使用aapt转储时如何打印指定参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12426137/

相关文章:

android - android 中的 java.lang.reflect.invocationtargetexception

android - 动态高度查看器

android - 在 Android 中使用 pjsip 发送 INVITE 时出错 : Error initializing media channel (PJ_EBUSY)

android - 如何正确设置 Volley 以从 URL 下载图像

arrays - 如何使用变量作为索引计算 FOR 循环中的数组?

windows - 为什么这段代码说回声已关闭?

python - 批量或 python 备份/复制整个文件夹树?

javascript - 提取元素内的所有有效 URL 字符串 (JavaScript)

java - 如何获取 ":"之间的子字符串

c - 如何在 C 中有效地从句子中提取单词?