Ionic/Cordova:编程设置应用程序版本

3

一个Cordova应用的版本号可以在config.xml文件中的<widget>元素中设置,但是有没有一种编程方式来设置它呢?

    <?xml version="1.0" encoding="utf-8"?>
    <widget defaultLocale="en-US" id="com.example.myapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
      <name>MyApp</name>
...

我希望在构建过程中设置版本号,使用构建号作为版本号。如果我们可以在构建时通过运行 Cordova cli 命令以编程方式更改 config.xml,那就太好了。

1个回答

2
如果您正在使用Gulp,则可以使用gulp-xmlpoke等插件来完成。
您可以通过命令行参数(例如gulp --buildVersion=1.2.3)将构建版本传递给gulp,并使用yargs提取它们。
示例gulp任务:
var gulp = require("gulp");
var argv = require("yargs").argv;    
var xmlpoke = require("gulp-xmlpoke");

gulp.task("setAppVersion", function () {
        return gulp.src("config.xml")
            .pipe(xmlpoke({
                replacements: [{
                    xpath: "/w:widget/@version",
                    value: argv.buildVersion,
                    namespaces: { "w": "http://www.w3.org/ns/widgets", "cdv": "http://cordova.apache.org/ns/1.0" }
                }]
            }))
            .pipe(gulp.dest("./"));
    });

你好,有没有其他方法可以在不使用gulp的情况下实现这个? 当钩子脚本运行时,我需要更新小部件ID和版本。 - Ankit Kumar Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接