乐趣区

Android编译报错orgjetbrainspluginsgradletoolinguti

新建了一个基于 ReactNative version0.60.5 的新项目,在使用 Android Studio 编译项目的时候 build 了如下错误:

org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getModuleIdentifier()

从报错类型看是 gradle 的版本问题,google 后发现是应该是 android 的 IDE 版本 (3.1.2) 太低,和项目的 gradle 版本无法兼容导致。
项目中的版本为,通过查看 /gradle/wrapper/gradle-wrapper.properties 文件中的内容,看到下面是 5.4.1

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

考虑项目兼容问题,目前考虑降低 gradle 的版本,改下下面这样:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

你以为这样就完事了?too young too simple.
重新 build 就报了如下错误:

Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl.

怎么办?接着搞呗。
进入 Android 根目录的 build.gradle 文件,修改如下:

dependencies {classpath("com.android.tools.build:gradle:3.4.1")
        // 修改上面的 gradle 版本成下面的:classpath("com.android.tools.build:gradle:3.3.0")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

重新 build 项目就 ok 了。

欢迎关注我的公众号:君伟说。

个人网站:https://wayne214.github.io

退出移动版