Я получил шаблон React Native, при попытке его запуска обнаружил ряд ошибок. Я обновил React Native до последней версии, но по-прежнему получаю сообщение об ошибке ниже. Как мне решить эту проблему и успешно запустить приложение RN? Заранее спасибо.
FAILURE: сборка не удалась из-за исключения.
[*]Что пошло не так: Возникла проблема при настройке проекта «:expo».
Не удалось уведомить прослушиватель оценки проекта. org.gradle.api.GradleException: добавление конфигурации в качестве зависимости больше не разрешено, начиная с Gradle 8.0. KotlinJvmAndroidКомпиляция с именем «debug» не найдена.
Вот мой android/build.gradle
buildscript { доб. { buildToolsVersion = "33.0.0" минСдкВерсион = 21 компиляцияSdkVersion = 33 targetSdkVersion = 33 supportLibVersion = "33.0.0" googlePlayServicesAuthVersion = "16.0.1" котлинВерсия = "1.4.10" } репозитории { Google() mavenCentral() mavenCentral() } зависимости { // путь к классам 'com.android.tools.build:gradle:4.0.0' путь к классам("com.android.tools.build:gradle") classpath("com.facebook.react:реагировать-родной-gradle-плагин") путь к классам 'com.google.gms:google-services:4.2.0' путь к классам "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" // ПРИМЕЧАНИЕ. Не размещайте здесь зависимости вашего приложения; они принадлежат // в файлах build.gradle отдельного модуля } } всепроекты { репозитории { mavenCentral() mavenLocal() знаток { // Весь React Native (исходники JS, Obj-C, двоичные файлы Android) устанавливается из npm url("$rootDir/../node_modules/react-native/android") } знаток { // Android АО устанавливается из npm url("$rootDir/../node_modules/jsc-android/dist") } знаток { // expo-camera объединяет пользовательский com.google.android:cameraview URL "$rootDir/../node_modules/expo-camera/android/maven" } maven { URL 'https://maven.google.com' } maven { URL 'https://www.jitpack.io' } Google() jcenter() }
android/app/build.gradle
применить плагин: "com.android.application" применить плагин: «com.facebook.react» импортировать com.android.build.OutputFile проект.ext.react = [ EnableHermes: false, // очищаем и пересобираем при изменении ] защита EnableSeparateBuildPerCPUArchitecture = false защита EnableProguardInReleaseBuilds = false def jscFlavor = 'org.webkit:android-jsc:+' защита реагированияNativeArchitectures() { значение def = project.getProperties().get("reactNativeArchitectures") возвращаемое значение? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] } андроид { compileSdkVersion rootProject.ext.compileSdkVersion компиляцияварианты { исходная совместимость JavaVersion.VERSION_1_8 целевая совместимость JavaVersion.VERSION_1_8 } dexOptions { javaMaxHeapSize "8g" jumboMode true } defaultConfig { идентификатор приложения "io.instamobile" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion Код версии 1 Имя версии "1.0" VectorDrawables.useSupportLibrary = true MissingDimensionStrategy 'реагировать на родную камеру', 'общий' multiDexEnabled true } расщепляет { аби { перезагрузить() включить EnableSeparateBuildPerCPUArchitecture UniversalApk false // Если true, также сгенерировать универсальный APK включить «armeabi-v7a», «x86», «arm64-v8a», «x86_64» } } подписываниеConfigs { отладка { файл storeFile('debug.keystore') storePassword 'android' keyAlias 'androiddebugkey' ключевой пароль «android» } } типы сборки { отладка { SigningConfig SigningConfigs.debug } выпускать { // Осторожность! В рабочей среде вам необходимо создать собственный файл хранилища ключей. // см. https://reactnative.dev/docs/signed-apk-android. SigningConfig SigningConfigs.debug minifyEnabled EnableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } // Варианты приложения, например. отладка, выпуск applicationVariants.all {вариант -> вариант.outputs.each {вывод -> // Для каждого отдельного APK для каждой архитектуры установите уникальный код версии, как описано здесь: // https://developer.android.com/studio/bu ... plits.html def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] защита abi = выход.getFilter(OutputFile.ABI) if (abi != null) { // null для вариантов универсальной отладки и универсальной версии выход.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } Варианты упаковки { PickFirst '**/armeabi-v7a/libc++_shared.so' PickFirst '**/x86/libc++_shared.so' PickFirst '**/arm64-v8a/libc++_shared.so' PickFirst '**/x86_64/libc++_shared.so' PickFirst '**/x86/libjsc.so' PickFirst '**/armeabi-v7a/libjsc.so' } } // применить из: new File(["node", "--print", "require.resolve('react-native/package.json')"].execute().text.trim(), ".. /реагировать.gradle") зависимости { // Версия реакции-native устанавливается плагином React Native Gradle реализация("com.facebook.react:реагировать-android") реализация("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0") debugImplementation("com.facebook.flipper
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME DistributionPath = оболочка/дист DistributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists