新建了一个基于 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