Описание проблемы
После тщательного следования инструкциям в https://wix.github.io/react-native-navigation/#/docs/Installing, Я получаю эти ошибки после выполнения шага 4 для Android:
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
Что я пробовал
- Неправильный кэш / перезапуск
Обновление зависимостей в 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, ссылка здесь
- Недействительные кэши / перезапуск
- Завершение работы Android Studio
- Удалить папку .gradle
- Перезапустить Android Studio
Установить прокси http и https в gradle.properties
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 / реагировать на родную навигацию
- Выйдите из 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 появляются ошибки
Окружающая среда * * 1092
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 Mojave 10.14.2
Java 8 (бочка)