我的config.xml里面有以下行。
<widget id="dev.apk" version="2.5-dev" android-versionCode="20500-dev">
我希望更改属性值&#39;版本&#39; id&#39;和&#39; android-versionCode&#39;在我的Bash脚本中。
在脚本中我可以访问ID,VERSION和VERSION_CODE变量,如下所示:
ID ="release.apk"
VERSION="2.5"
VERSION_CODE="20500"
我想使用xmlstarlet或sed。 什么是最好的方式?
更新
我的.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="app" version="2.5" android-versionCode="20500">
<name>App title</name>
<description>Dummy dummy text.</description>
</widget>
答案 0 :(得分:2)
您可以这样做来编辑就地 xml文件:
id
属性的示例:
xmlstarlet edit -L -u "/_:widget/@id" -v "$ID" file.xml
您现在只需要将此代码段改为其他代码段。
答案 1 :(得分:0)
您可以在sed中执行以下操作。
sed -i&#34; s | dev.apk | $ ID | g&#34;的test.xml
但是,如果您已经在使用构建工具,那么您可能希望看看用占位符替换您的值并使用目标环境文件
我相信gradle中有一些占位符支持
http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger