Android studio 3.1升级

版权声明:本文为博主原创文章,未经博主允许不得转载。 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总结

猜你喜欢

转载自blog.csdn.net/zh_qianwei/article/details/79724468