原因:
接手一个全新的项目,项目使用的技术点很新,热修复,路由,开发语言kotlin,包括对gradle的使用,都是我之前很少接触到的技术点。
参考:
记录:自动命名
applicationVariants.all的使用。
你可以applicationVariants.all这个task中添加代码进行执行。
思考一下,假设,我想设置一个特定的applicationId给branchTwo和distrib结合的variant,我可以在build.gradle里面这样写:
项目中使用:
android.applicationVariants.all { variant ->
def newVerName = variant.versionName.replace(".", "_")
variant.outputs.all {
outputFileName = "epk_${newVerName}_b${variant.versionCode}_${variant.buildType.name}" +
//"_${variant.productFlavors[0].name}.apk"
".apk"
}
}
效果:
直接更改run出来的包名。
记录:自增版本号
def getVersionProps() { def versionFile versionFile = file('release.properties') if (versionFile.exists()) { def Properties versionProps = new Properties() versionProps.load(new FileInputStream(versionFile)) println(versionProps.toString()) return versionProps } else { throw new GradleException("Could not find ${versionFile.name}!") }
def versionProps = getVersionProps() def verCode = versionProps['release.number'].toInteger() def verName = versionProps['release.name'].toString()
versionCode verCode versionName verName
效果:
配合 自动更新包名,每次发版本避免手动填写 内部版本,外部版本。