美文网首页
gradle 从3.0.1升级到 3.4.0 所解决的各种问题

gradle 从3.0.1升级到 3.4.0 所解决的各种问题

作者: Jinbeen | 来源:发表于2019-11-01 01:08 被阅读0次

    1.ext.kotlin_version升级 / repositories 里新增

    • gradle升级后ext.kotlin_version会提示升级到对应版本:
      ext.kotlin_version = '1.1.51'
      ext.kotlin_version = '1.3.10'

    • kotlin引入的库修改 (jre7 / jdk7):

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    
    • repositories 里新增:
      mavenCentral()

    2.gradle.properties去掉 android.enableAapt2=false

    升级到3.4.0后如果里面有android.enableAapt2=false会报错,去掉即可

    3.所有依赖库里去掉 buildToolsVersion

    这个会提示错误:buildToolsVersion rootProject.ext.buildToolsVersion,一键就可以去掉

    4.引入名称修正

    3.0.1 3.4.0
    testCompile testImplementation
    androidTestCompile androidTestImplementation
    compile api / implementation
    instrumentTest androidTest

    api / implementation:
    表示此库引入的jar包也是否可以被 引入此库的项目使用(例如A引入B,B引入了C,如果B引入C时 使用api则A也可以使用C,如果使用implementation则A不能使用C)。

    注意这样的形式: api fileTree(dir: 'libs', include: ['*.jar'])

    5.<item> inner element must either be a resource reference or empty

    错误<item>内部元素必须是资源引用或空

    如果是自己的库中出现的情况:

    <item name="webviewload_monitor_cancel_point" type="id"/>
    

    如果是三方文件引入,则不能直接修改文件。可以借助gradle中的resValue这个方法去修改编译中的文件:

    android {
        ...
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                resValue "id", "webviewload_monitor_cancel_point",""
            }
            debug{
                 resValue "id", "webviewload_monitor_cancel_point",""
            }
        ...
    }
    

    相关文章

      网友评论

          本文标题:gradle 从3.0.1升级到 3.4.0 所解决的各种问题

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