Родной модуль RNVectorIcons попытался переопределить RNVectorIconsAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Родной модуль RNVectorIcons попытался переопределить RNVectorIcons

Сообщение Anonymous »

После всего процесса установки React Native Vector Icons на GitHub я получил следующую ошибку:

Код: Выделить всё

Native module RNVectorIcons tries to override RNVectorIcons.  Check the getPackages() method in MainApplication.java, it might be that module is being created twice. If this was your intention, set canOverrideExsistingModule=true.
Эта ошибка также может присутствовать, если пакет присутствует только один раз в getPackages(), но также автоматически добавляется позже во время сборки путем автоматического связывания. Попробуйте удалить существующую запись и перестроить.
Мой Application.kt выглядит следующим образом:

Код: Выделить всё

package com.project

import android.app.Application
import com.facebook.react.PackageList
import com.facebook.react.ReactApplication
import com.facebook.react.ReactHost
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.soloader.SoLoader
import com.oblador.vectoricons.VectorIconsPackage;

class MainApplication : Application(), ReactApplication {

override val reactNativeHost: ReactNativeHost =
object : DefaultReactNativeHost(this) {
override fun getPackages(): List =
PackageList(this).packages.apply {
add(VectorIconsPackage())
// Packages that cannot be autolinked yet can be added manually here, for example:
// add(MyReactNativePackage())
}

override fun getJSMainModuleName(): String = "index"

override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG

override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
}

override val reactHost: ReactHost
get() = getDefaultReactHost(applicationContext, reactNativeHost)

override fun onCreate() {
super.onCreate()
SoLoader.init(this, false)
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
load()
}
}
}

Если я попытаюсь удалить add(VectorIconsPackage()) , я получу две ошибки. Первая ошибка выглядит так:

Код: Выделить всё

 ERROR  Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'VectorIcons' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: false. TurboModule interop: false. Modules loaded: {"NativeModules":["PlatformConstants","LogBox","Timing","AppState","SourceCode","BlobModule","WebSocketModule","DevSettings","DevToolsSettingsManager","Networking","Appearance","DevLoadingView","HeadlessJsTaskSupport","UIManager","DeviceInfo","ImageLoader","SoundManager","IntentAndroid","DeviceEventManager"],"TurboModules":[],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","LinkingManager","VectorIcons"]}, js engine: hermes
LOG  Running "Project" with {"rootTag":11}
Вторая ошибка выглядит так:

Код: Выделить всё

Invariant Violation: "Project" has not been registered. This can happen if:
* Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called., js engine: Project
Зависимости:

Код: Выделить всё

"dependencies": {
"@react-native-vector-icons/ionicons": "^7.4.0-alpha.16",
"@types/react-native-vector-icons": "^6.4.18",
"react": "18.2.0",
"react-native": "0.74.3",
"react-native-vector-icons": "^10.1.0"
}
Я пытался отредактировать fonts.gradle в соответствии с этим предложением автора на Github, но ошибка не исчезла.
Обновление или переустановка React Native Vector Значки, кажется, вообще не помогают.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ectoricons
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»