美文网首页
org.gradle.api.internal.tasks.co

org.gradle.api.internal.tasks.co

作者: 王冥 | 来源:发表于2018-06-12 11:27 被阅读19次

    升级完Android Stadio 3.1以后

    将所有的compile变为implementation 后,clean和rebuild都没有发现错误,唯独在run的时候出现了以下错误:

    原因及解决办法

    原因:按照android stadio 3.1的要求,需要把gradle版本升级为 4.4及以上,但是gradle 4.4及以上要求将依赖api的compile换成implementation。而implementation声明的依赖没办法传递到module以外,即该module 以外module没办法引用到implementation声明的api。

    即:module A implementation libA,而 moduleB implementation module A,那么module B 引导 libA 中的api,不然在build的时候会报org.gradle.api.internal.tasks.compile.CompilationFailedException。

    解决办法:将compile 替换为 api即可,也就是如果有外部引用,则换成:api,剩下的换成:implementation。

    示例:

    dependencies {

        api fileTree(dir: 'libs', include: ['*.jar'])

        testImplementation 'junit:junit:4.12'

        api 'com.android.support:support-v4:26.1.0'

        api 'com.android.support:appcompat-v7:26.1.0'

        api 'com.google.code.gson:gson:2.8.2'

        api 'com.j256.ormlite:ormlite-core:4.48'

        api 'com.j256.ormlite:ormlite-android:4.48'

    相关文章

      网友评论

          本文标题:org.gradle.api.internal.tasks.co

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