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