uniapp自定义基座的时候往往需要手动改dcloud_control.xml文件的里面的版本号与android的build.gradle中的versionName versionCode保持一致。
1 2 3 4 5 |
<hbuilder debug="false" syncDebug="false"> <apps> <app appid="__UNI__10AVA31" appver="0.0.59"/> </apps> </hbuilder> |
每次都需要手动改很费劲。写了个gradle编译脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
android.applicationVariants.all { variant -> //打包重命名 variant.outputs.all { if (buildType.name == 'debug') { outputFileName = "APP_V${variant.versionName}_${releaseTime()}_${buildType.name}.apk" } else { outputFileName = "APP_V${variant.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk" } } //动态修改dcloud版本 variant.outputs.each { output -> output.processResources.doFirst { pm-> def xmlFile = 'src/main/assets/data/dcloud_control.xml' def xml = new XmlParser().parse(xmlFile) xml.attributes().put("debug",(buildType.name == 'debug')) xml.attributes().put("syncDebug",(buildType.name == 'debug')) def app = xml.apps.app[0]; app.attributes().put("appver",variant.versionName) println("变更DCloud配置文件"+xml) new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile))).print(xml) } } } |
Done!
转载请注明:天狐博客 » Android开发之gradle动态修改uniapp版本号