最新消息:iOS编程开发交流群(6906921) ,Mac.Cocoa开发交流群(7758675) 欢迎iOS/macOS开发编程爱好及学习者加入!

Android开发之gradle动态修改uniapp版本号

Android 天狐 6688浏览 0评论

uniapp自定义基座的时候往往需要手动改dcloud_control.xml文件的里面的版本号与android的build.gradle中的versionName versionCode保持一致。

<hbuilder debug="false" syncDebug="false">
  <apps>
    <app appid="__UNI__10AVA31" appver="0.0.59"/>
  </apps>
</hbuilder>

每次都需要手动改很费劲。写了个gradle编译脚本。

 
    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版本号

微信 OR 支付宝 扫描二维码
为天狐 打赏
非常感谢你的支持,哥会继续努力!
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址