美文网首页住家
gradle2.3.3升级到gradle3.5.0问题汇总

gradle2.3.3升级到gradle3.5.0问题汇总

作者: 洛草为王 | 来源:发表于2019-09-19 10:51 被阅读0次

    问题1:Could not find method leftShift() for arguments

    preBuild << {
      task.execute()
    }
    

    解决方案:去掉build.gradle文本中的<<

    问题2:Gradle DSL method not found: 'execute()'

    解决方案:目前用task.doFirst方法代替

    问题3:Cannot set the value of read-only property 'outputFile'

    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
          def outputFile = output.outputFile
          if (outputFile != null && outputFile.name.endsWith('.apk')) {
            //这里修改apk文件名
            def fileName="jianShu-${variant.buildType.name}-${defaultConfig.versionName}.apk"
            output.outputFile = new File(outputFile.parent, fileName)
          }
        }
      }
    
    

    解决方案:

    android.applicationVariants.all { variant ->
      variant.outputs.all { output ->
        def outputFile = output.outputFile
        if (outputFile != null && outputFile.name.endsWith(‘.apk’)) {
          //这里修改apk文件名
          def fileName = “jianShu-${variant.buildType.name}-${defaultConfig.versionName}.apk”
          output.outputFileName = fileName
        }
      }
    }
    

    问题4:Unable to resolve dependency for ':CoreBusiness@beta/compileClasspath': Could not resolve project :OpenSourceLibrary.

    解决方案:所有module下的buildTypes要保持一致

    buildTypes {
       debug {
           ...
       }
       beta {
           ...
           //关键代码,lib的module下要添加这行代码
           matchingFallbacks = ['release', 'debug']
       }
       release {
           ...
       }
       sourceSets{
       }
       lintOptions {
       }
    }
    

    注意:lib的module下buildTypes中的项目可以不填内容,例如:lintOptions{}

    问题5:jni生成so的方式改变了。

    解决方案:使用CMake方式来生成so。

    问题6:签名打包需要使用v2Signing。

    解决方案:使用美团新版打包工具,项目地址:https://github.com/Meituan-Dianping/walle

    相关文章

      网友评论

        本文标题:gradle2.3.3升级到gradle3.5.0问题汇总

        本文链接:https://www.haomeiwen.com/subject/przluctx.html