无法解析“...”的依赖项:无法解析项目:react-native-navigation
Unable to resolve dependency for '...': Could not resolve project :react-native-navigation
问题描述
仔细按照 https://wix.github.io/react-native-navigation/#/docs/Installing 中的说明进行操作后,我在完成 Android 的第 4 步后遇到了这些错误:
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Affected Modules: app
我试过的
- 无效Cache/Restart
更新 build.gradle file
中的依赖项
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.2.0'
}
禁用 Gradle Only sync the active variant
的实验性功能,这会导致另外两个错误:
ERROR: Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
ERROR: Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
首选项 > 外观和行为 > 系统设置 > HTTP 代理 > 无代理
将google()
移到顶部
buildscript{
ext {...}
repositories {
google()
mavenLocal()
...
}
...
}
allprojects {
repositories {
google()
...
}
}
将 gradle distributionUrl 更新为 5.1.1-all 并删除任务包装器
- 删除 .gradle,引用 here
- 使缓存无效/重新启动
- 关闭Android工作室
- 删除 .gradle 文件夹
- 重新启动 Android Studio
在 gradle.properties
中同时设置 http 和 https 代理
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyPort=12345
org.gradle.jvmargs=-Xmx1234m
systemProp.https.proxyHost=127.0.0.1
systemProp.http.proxyPort=12345
- 在 wix/react-native-navigation
上打开一个 issue
- 退出Android Studio,删除*.iml文件和.idea目录,重建
- 禁用即时 运行
重现步骤
步骤 1
添加以下内容
# android/settings.gradle
include ':react-native-navigation'
project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-navigation/lib/android/app/')
第 2 步
确保您使用的是新的 gradle 插件
# android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
步骤 3
更新android/build.gradle
# android/build.gradle
buildscript {
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 19
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "28.0.0"
}
repositories {
google()
mavenLocal()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
allprojects {
repositories {
google()
mavenCentral()
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven { url 'https://jitpack.io' }
}
}
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
第 4 步
更新项目依赖
# android/app/build.gradle
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {...}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation project(':react-native-navigation')
}
根据需要同步项目,确认在第 4 步之后产生了错误
环境
- React Native Navigation 版本:2.7.0
- React Native 版本:0.57.8
- 平台(iOS、Android 或两者?):Android
- Android Studio 3.3
- Gradle 4.10.1
- Android Gradle 插件 3.3.0
- Android SDK 构建工具 28.0.3
- macOS 莫哈韦沙漠 10.14.2
- Java 8(酿造桶)
继续执行第 7 步已消除错误
第 7 步
通过在 android/app/build 中指定 RNN 构建风格,以项目所需的 React Native 版本为目标。gradle
android {
defaultConfig {
missingDimensionStrategy "RNN.reactNativeVersion", "reactNative57_5"
}
}
我已经花了 2 周时间尝试正确配置 react-native-navigation v2,所以请随意尝试我的应用程序框架:https://github.com/Cicko/react-native-app-skeleton
已完全设置并准备好进行开发:)
问题描述
仔细按照 https://wix.github.io/react-native-navigation/#/docs/Installing 中的说明进行操作后,我在完成 Android 的第 4 步后遇到了这些错误:
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve project :react-native-navigation.
Show Details
Affected Modules: app
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Affected Modules: app
我试过的
- 无效Cache/Restart
更新
中的依赖项build.gradle file
dependencies { classpath 'com.android.tools.build:gradle:3.1.4' classpath 'com.google.gms:google-services:4.2.0' }
禁用 Gradle
Only sync the active variant
的实验性功能,这会导致另外两个错误:ERROR: Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve project :react-native-navigation. Show Details Affected Modules: app ERROR: Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve project :react-native-navigation. Show Details Affected Modules: app
首选项 > 外观和行为 > 系统设置 > HTTP 代理 > 无代理
将
google()
移到顶部buildscript{ ext {...} repositories { google() mavenLocal() ... } ... } allprojects { repositories { google() ... } }
将 gradle distributionUrl 更新为 5.1.1-all 并删除任务包装器
- 删除 .gradle,引用 here
- 使缓存无效/重新启动
- 关闭Android工作室
- 删除 .gradle 文件夹
- 重新启动 Android Studio
在 gradle.properties
中同时设置 http 和 https 代理systemProp.http.proxyHost=127.0.0.1 systemProp.https.proxyPort=12345 org.gradle.jvmargs=-Xmx1234m systemProp.https.proxyHost=127.0.0.1 systemProp.http.proxyPort=12345
- 在 wix/react-native-navigation 上打开一个 issue
- 退出Android Studio,删除*.iml文件和.idea目录,重建
- 禁用即时 运行
重现步骤
步骤 1
添加以下内容
# android/settings.gradle
include ':react-native-navigation'
project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-navigation/lib/android/app/')
第 2 步
确保您使用的是新的 gradle 插件
# android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
步骤 3
更新android/build.gradle
# android/build.gradle
buildscript {
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 19
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "28.0.0"
}
repositories {
google()
mavenLocal()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
allprojects {
repositories {
google()
mavenCentral()
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven { url 'https://jitpack.io' }
}
}
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
第 4 步
更新项目依赖
# android/app/build.gradle
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {...}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation project(':react-native-navigation')
}
根据需要同步项目,确认在第 4 步之后产生了错误
环境
- React Native Navigation 版本:2.7.0
- React Native 版本:0.57.8
- 平台(iOS、Android 或两者?):Android
- Android Studio 3.3
- Gradle 4.10.1
- Android Gradle 插件 3.3.0
- Android SDK 构建工具 28.0.3
- macOS 莫哈韦沙漠 10.14.2
- Java 8(酿造桶)
继续执行第 7 步已消除错误
第 7 步
通过在 android/app/build 中指定 RNN 构建风格,以项目所需的 React Native 版本为目标。gradle
android {
defaultConfig {
missingDimensionStrategy "RNN.reactNativeVersion", "reactNative57_5"
}
}
我已经花了 2 周时间尝试正确配置 react-native-navigation v2,所以请随意尝试我的应用程序框架:https://github.com/Cicko/react-native-app-skeleton
已完全设置并准备好进行开发:)