Невозможно разрешить зависимость для '...': не удалось разрешить проект: Reaction-native-navigation - PullRequest
0 голосов
/ 17 января 2019

Описание проблемы

После тщательного следования инструкциям в 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, ссылка здесь
    1. Недействительные кэши / перезапуск
    2. Завершение работы Android Studio
    3. Удалить папку .gradle
    4. Перезапустить 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 (бочка)

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я потратил уже 2 недели, пытаясь правильно настроить реактивную-навигацию v2, так что не стесняйтесь попробовать мой скелет приложения: https://github.com/Cicko/react-native-app-skeleton

, который полностью настроен и готов к разработке:)

0 голосов
/ 18 января 2019

Переход к шагу 7 избавил от ошибки

Шаг 7

Выберите нужную версию React Native для вашего проекта, указав вариант сборки RNN в android / app / build.gradle

android {
  defaultConfig {
    missingDimensionStrategy "RNN.reactNativeVersion", "reactNative57_5"
  }
}
...