版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zh_qianwei/article/details/79724468
Windows 版本3.1.2bug 记录:
所有配置正常,项目打包 ,安装都是正常的,但是项目会有好多错误提示,找不到相关类
尝试把在gradle去掉所有引用第三方包,rebuild。然后在加上在rebuild。
Android studio 3.1正式版本已经发布,同时更新的还有gradle 3.1版本
这个版本一个最大好处是生成的dex文件别以前版本更小。
下面记录一下升级的坑
目前最新版本https://services.gradle.org/distributions/gradle-4.6-all.zip
这个版本需要buildTools : buildToolsVersion “27.0.3”
gradle插件版本。 classpath ‘com.android.tools.build:gradle:3.1.0’
需要添加 google()
svg配置 defaultConfig 需要添加
vectorDrawables.useSupportLibrary = true
其它
dependencies中引用地方三分库compile修改成了implementation,
testImplementation
outputFile不再支持写权限,只能读取
相关写法修改如下
3.0以前版本
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk') && 'release'.equals(variant.buildType.name)) {
def fileName = outputFile.name.replace("${variant.flavorName}", "V${defaultConfig.versionName}-${variant.flavorName}")
fileName = fileName.replace('.apk', "-${buildTime()}.apk")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
3.0以后版本
applicationVariants.all { variant -> //批量修改Apk名字
variant.outputs.all { output ->
if (!variant.buildType.isDebuggable()) {
//获取签名的名字 variant.signingConfig.name
//要被替换的源字符串
def sourceFile = "-${variant.flavorName}-${variant.buildType.name}"
//替换的字符串
def replaceFile = "_V${variant.versionName}_${variant.flavorName}_${variant.buildType.name}_${buildTime()}"
outputFileName = output.outputFile.name.replace(sourceFile, replaceFile);
//遗留问题:如何获取当前module的name,如CodeBooke这个名字怎么获取到
}
}
}
其他2.x升3.x总结 Gradle3.0总结