【问题标题】:how to print a specified parameter when using aapt dump使用aapt转储时如何打印指定参数
【发布时间】:2012-09-14 14:01:49
【问题描述】:

我看到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
)

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

包:name='com.timeplusq.noob' versionCode='15' versionName='1.5'

在 for 循环的第一次迭代中检索。如何从中提取包名。我认为字符串操作会很简单,但事实并非如此。 那么如何从字符串中提取包名呢?

【问题讨论】:

    标签: android cmd substring apk aapt


    【解决方案1】:

    如果你在 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%
    

    【讨论】:

    • 啊不!我只是在 Windows 中使用命令提示符.. 有什么解决方案吗?
    • 呃。我从来没有使用过批处理脚本,所以我有点困惑。我已经更新了这个问题。你能回答一下吗?谢谢! :)
    • 好吧,我尝试编写一个完整的脚本,但我对 DOS 脚本的了解不够多,无法做到这一点...... 一个简单的 Java 应用程序来完成这项工作怎么样?
    • 这对 Windows 没有帮助!
    猜你喜欢
    • 2013-09-09
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2022-11-03
    • 1970-01-01
    • 2017-03-30
    相关资源
    最近更新 更多