Импорт React-Native для Android из каталога node_modules не работает - PullRequest
0 голосов
/ 15 мая 2018

Мы используем версию 0.43.4 response-native, и мы его разветвили.Он загружается через npm install.

package.json

"react-native": "git+ssh://git@subdomain.domain.net/username/react-native#fix/xcode_9_3",

Наш Android файл Gradle уровня проекта имеет

allprojects {
    repositories {
        mavenLocal()
        jcenter()

        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }

        google()
    }
}

Работал почти год.Наш андроид-проект использовал response-native, который находится внутри директории node_modules.но сегодня Gradle автоматически загрузил реактивную нативную версию 0.55.3 из jcenter.

Это изображение показывает нам реактивную нативную версию, загруженную из jcenter

This image shows us react-native downloaded from jcenter

Мы попробовали это

repositories {
    jcenter {
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
    }
    maven {
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
    }
}

, но это не сработало.

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 16 мая 2018

Facebook явно выпустил артефакт maven из версии 0.55.3 для jcenter. Я думаю, что это не было предназначено, поскольку они прекратили делать это с версией 0.20.1.

Так как большинство из нас имеют implementation "com.facebook.react:react-native:+ в нашем файле build.gradle, ваша локальная версия будет проигнорирована, и будет использоваться самая высокая версия из jcenter. + несет ответственность за это, поскольку он принимает последнюю доступную версию.

Как это исправить:

  1. удалить локальный кеш града (и кеш CI-сервера, если он у вас есть)
  2. поместите вашего локального maven выше jcenter в вашем build.gradle (локальный поиск через удаленный поиск)
  3. , чтобы быть уверенным: используйте compile("com.facebook.react:react-native:0.43.4") { force = true }
...