Невозможно прочитать свойство «стиль» неопределенного, js-движок: HermesAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Невозможно прочитать свойство «стиль» неопределенного, js-движок: Hermes

Сообщение Гость »


ОШИБКА TypeError: невозможно прочитать свойство «стиль» неопределенного значения, механизм js: Hermes

ОШИБКА Нарушение инварианта: модуль AppRegistry не является зарегистрированным вызываемым модулем (вызывающим runApplication). Частой причиной ошибки является неверный путь к файлу записи приложения. Это также может произойти, если пакет JS поврежден или возникла ошибка ранней инициализации при загрузке React Native., js engine: hermes

ОШИБКА Нарушение инварианта: модуль AppRegistry не является зарегистрированным вызываемым модулем (вызывающим runApplication). Частой причиной ошибки является неверный путь к файлу записи приложения. Это также может произойти, если пакет JS поврежден или возникла ошибка ранней инициализации при загрузке React Native., js engine: hermes.

package.json

{ "name": "rasoi_rider", "версия": "2.2.1", «частное»: правда, "скрипты": { "android": "реагировать на собственный запуск Android", "ios": "react-native run-ios", "start": "реагировать на собственный старт", "тест": "шутка", "линт": "эслинт ." }, "зависимости": { "@react-native-community/async-storage": "^1.11.0", "@react-native-community/geolocation": "^2.0.2", "@react-native-community/masked-view": "^0.1.11", "@react-native-community/toolbar-android": "^0.2.1", "@react-navigation/bottom-tabs": "^6.0.9", "@react-navigation/native": "^6.0.6", "@react-navigation/native-stack": "^6.2.5", "@react-navigation/stack": "^6.0.11", "@supersami/rn-foreground-service": "^2.1.0", "аксиос": "^1.4.0", "форматер валюты": "^1.5.9", "i18next": "^21.6.3", "установить": "^0.13.0", "lodash": "^4.17.21", "lottie-react-native": "5.1.6", "момент": "^2.29.1", "npm": "^9.8.1", "qs": "^6.10.2", "реагировать": "17.0.2", "реакция-i18next": "^11.15.1", "реагировать-родной": "^0.69.12", "react-native-android-location-enabler": "1.2.2", "реагировать-родные-элементы": "^3.4.2", "реагировать-родное-flash-сообщение": "^0.2.0", "react-native-geolocation-service": "^5.3.1", "реагировать-родной-жест-обработчик": "^2.15.0", "реагировать-native-htmlview": "^0.16.0", "реагировать-родные-карты": "^0.30.1", "реагировать-native-modalize": "^2.0.13", "react-native-onesignal": "^4.3.4", "реагировать-родной-реанимированный": "^2.17.0", "реагировать-родной-рестарт": "^0.0.23", "react-native-safe-area-context": "^3.3.2", "реагировать-родные-экраны": "^3.10.2", "реагировать-родной-простой-тост": "^3.0.1", "реагировать-родной-заставка": "^3.3.0", "react-native-status-bar-height": "^2.6.0", "react-native-swipe-list-view": "^3.2.9", "react-native-vector-icons": "^9.0.0", "реакция-редукция": "^8.1.2", "редукс": "^4.2.1", "socket.io-client": "^4.7.4" }, "devDependency": { "@babel/core": "^7.12.9", "@babel/runtime": "^7.12.5", "@react-native-community/eslint-config": "^2.0.0", "babel-jest": "^26.6.3", "babel-plugin-module-resolver": "^4.1.0", "эслинт": "7.14.0", "шутка": "^26.6.3", "metro-react-native-babel-preset": "^0.66.2", "prop-types": "^15.7.2", "реакция-тест-рендерер": "17.0.2", "redux-devtools-extension": "^2.13.9" }, "шутка": { "preset": "реагировать-родной" } } build.gradel(уровень проекта)

// Файл сборки верхнего уровня, куда вы можете добавить параметры конфигурации, общие для всех подпроектов/модулей. def REACT_NATIVE_VERSION = новый файл(['node', '--print', "JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8 ')).version".].execute(null, rootDir).text.trim()) сценарий сборки { доб. { котлинВерсия = "1.7.0" // buildToolsVersion = "30.0.2" // buildToolsVersion = "30.0.3" buildToolsVersion = "33.0.1" // минСдкВерсион = 21 // компилироватьSdkVersion = 31 // targetSdkVersion = 30 минСдкВерсион = 23 компиляцияSdkVersion = 33 targetSdkVersion = 33 ндкВерсион = "21.4.7075529" playServicesVersion = "17.0.0" } репозитории { Google() jcenter() } зависимости { путь к классам('com.android.tools.build:gradle:7.4.2') путь к классам('com.google.gms:google-services:4.3.10') // ПРИМЕЧАНИЕ: Не размещайте здесь зависимости вашего приложения; они принадлежат // в файлах build.gradle отдельного модуля } } всепроекты { конфигурации.все { резолюцияСтратегия { Force "com.facebook.react:реагировать-родной:" + REACT_NATIVE_VERSION } } репозитории { знаток { // Весь React Native (исходники JS, Obj-C, двоичные файлы Android) устанавливается из npm url("$rootDir/../node_modules/react-native/android") } знаток { // Android АО устанавливается из npm url("$rootDir/../node_modules/jsc-android/dist") } mavenCentral { // Мы не хотим получать ответные коды из Maven Central, так как они есть // там более старые версии. содержание { исключить группу «com.facebook.react» } } Google() jcenter() maven { URL 'https://www.jitpack.io' } } } build.gradle(уровень приложения)
buildscript { репозитории { maven { url 'https://plugins.gradle.org/m2/' } // Портал плагинов Gradle } зависимости { путь к классам 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.6, 0.99.99]' } } применить плагин: 'com.onesignal.androidsdk.onesignal-gradle-plugin' применить плагин: «com.android.application» импортировать com.android.build.OutputFile /** * Файл реакции.gradle регистрирует задачу для каждого варианта сборки (например, BundleDebugJsAndAssets * и BundleReleaseJsAndAssets). * Они в основном вызывают `react-native Bundle` с правильными аргументами во время сборки Android. * цикл. По умолчанию BundleDebugJsAndAssets пропускается, так как в режиме отладки/разработки мы предпочитаем загружать * пакет непосредственно с сервера разработки. Ниже вы можете увидеть все возможные конфигурации. * и их значения по умолчанию. Если вы решите добавить блок конфигурации, обязательно добавьте его до * `применить из: строки "../../node_modules/react-native/react.gradle"`. * * проект.ext.react = [ * // имя сгенерированного файла ресурса, содержащего ваш пакет JS * BundleAssetName: "index.android.bundle", * * // входной файл для создания пакета. Если ничего не указано и * // «index.android.js» существует, он будет использоваться. В противном случае «index.js» * // по умолчанию. Может быть переопределено с помощью переменной среды ENTRY_FILE. * входной файл: «index.android.js», * * // // https://reactnative.dev/docs/ Performance#enable-the-ram-format * BundleCommand: "ram-bundle", * * // следует ли объединять JS и ресурсы в режиме отладки * BundleInDebug: ложь, * * // следует ли объединять JS и ресурсы в режиме выпуска * BundleInRelease: правда, * * // следует ли объединять JS и ресурсы в другой вариант сборки (если настроено). * // См. http://tools.android.com/tech-docs/new- ... d-Variants. * // Свойство конфигурации может иметь следующие форматы * // 'bundleIn${productFlavor}${buildType}' * // 'bundleIn${buildType}' * // BundleInFreeDebug: правда, * // BundleInPaidRelease: true, * // BundleInBeta: правда, * * // отключать ли режим разработки в пользовательских вариантах сборки (по умолчанию отключен только в выпуске) * // например: отключить режим разработки в промежуточном типе сборки (если настроено) * devDisabledInStaging: правда, * // Свойство конфигурации может иметь следующие форматы * // 'devDisabledIn${productFlavor}${buildType}' * // 'devDisabledIn${buildType}' * * // корень вашего проекта, т.е. место, где находится "package.json" * корень: "../../", * * // куда поместить ресурс пакета JS в режим отладки * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", * * // куда поместить актив пакета JS в режим выпуска * jsBundleDirRelease: "$buildDir/intermediates/assets/release", * * // куда поместить доступные ресурсы/активы React Native, например. те, которые вы используете через * // require('./image.png')), в режиме отладки * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", * * // куда поместить доступные ресурсы/активы React Native, например. те, которые вы используете через * // require('./image.png')), в режиме выпуска * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", * * // по умолчанию задачи gradle пропускаются, если ни один из файлов JS или ресурсов не изменяется; это означает * // что мы не просматриваем файлы в android/ или ios/, чтобы определить, справляются ли задачи * // дата; если у вас есть другие папки, которые вы хотите игнорировать из соображений производительности (gradle * // индексирует все дерево), добавьте их сюда. Альтернативно, если у вас есть файлы JS в android/ * // например, вы можете удалить его отсюда. * inputExcludes: ["android/**", "ios/**"], * * // переопределяем, какой узел вызывается и с какими дополнительными аргументами * nodeExecutableAndArgs: ["узел"], * * // передаем упаковщику дополнительные аргументы * extraPackagerArgs: [] * ] */ проект.ext.react = [ // файл записи: "index.js", включитьГермес: правда // EnableHermes: true, // очищаем и пересобираем при изменении ] применить из: "../../node_modules/react-native/react.gradle" применить из: "../../node_modules/react-native-vector-icons/fonts.gradle" /** * Установите значение true, чтобы создать два отдельных APK вместо одного: * - APK, который работает только на устройствах ARM. * - APK, который работает только на устройствах x86. * Преимущество заключается в том, что размер APK уменьшается примерно на 4 МБ. * Загрузите все APK-файлы в Play Store, и люди будут их скачивать. * правильный, основанный на архитектуре процессора их устройства. */ защита EnableSeparateBuildPerCPUArchitecture = false /** * Запустите Proguard, чтобы уменьшить байт-код Java в сборках выпуска. */ защита EnableProguardInReleaseBuilds = false /** * Предпочтительный вариант сборки JavaScriptCore. * * Например, чтобы использовать международный вариант, вы можете использовать: * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` * * Международный вариант включает библиотеку ICU i18n и необходимые данные. * позволяет использовать, например. `Date.toLocaleString` и `String.localeCompare`, которые * дают правильные результаты при использовании языков, отличных от en-US. Обратите внимание, что * этот вариант примерно на 6 МБ больше для каждой архитектуры, чем по умолчанию. */ def jscFlavor = 'org.webkit:android-jsc:+' /** * Включить ли виртуальную машину Hermes. * * Это должно быть установлено в project.ext.react и отражено здесь. Если он не установлен * в project.ext.react JavaScript не будет скомпилирован в байт-код Hermes. * и поэтому польза от использования Гермеса будет резко снижена. */ def EnableHermes = project.ext.react.get("enableHermes", false); /** * Архитектуры для создания собственного кода при отладке. */ def NativeArchitectures = project.getProperties().get("reactNativeDebugArchitectures") андроид { ndkVersion rootProject.ext.ndkVersion compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { идентификатор приложения «com.rasoirider» minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion Код версии 2 Имя версии '1.0.1' конфигурации.все { разрешенияStrategy {force 'androidx.work:work-runtime:2.6.0' } } } расщепляет { аби { перезагрузить() включить EnableSeparateBuildPerCPUArchitecture UniversalApk false // Если true, также сгенерировать универсальный APK включить «armeabi-v7a», «x86», «arm64-v8a», «x86_64» } } подписываниеConfigs { отладка { файл storeFile('debug.keystore') storePassword 'android' keyAlias ​​'androiddebugkey' ключевой пароль «android» } выпускать { если (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { файл storeFile (MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias ​​MYAPP_UPLOAD_KEY_ALIAS ключпароль MYAPP_UPLOAD_KEY_PASSWORD } } } типы сборки { отладка { SigningConfig SigningConfigs.debug если (nativeArchitectures) { ндк { abiFiltersnativeArchitectures.split(',') } } } выпускать { // Осторожность! В рабочей среде вам необходимо создать собственный файл хранилища ключей. // см. https://reactnative.dev/docs/signed-apk-android. SigningConfig SigningConfigs.release minifyEnabled EnableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } Варианты упаковки { // PickFirst "lib/armeabi-v7a/libc++_shared.so" // PickFirst "lib/arm64-v8a/libc++_shared.so" // PickFirst "lib/x86/libc++_shared.so" // PickFirst "lib/x86_64/libc++_shared.so" исключить «МЕТА-INF/ЗАВИСИМОСТИ» исключить «МЕТА-INF/ЛИЦЕНЗИЯ» исключить «META-INF/LICENSE.txt» исключить «META-INF/license.txt» исключить «META-INF/NOTICE» исключить «META-INF/NOTICE.txt» исключить «META-INF/notice.txt» исключить «META-INF/ASL2.0» исключить("META-INF/*.kotlin_module") PickFirst 'lib/armeabi-v7a/libfbjni.so' PickFirst 'lib/arm64-v8a/libc++_shared.so' PickFirst 'lib/arm64-v8a/libfbjni.so' PickFirst 'lib/x86_64/libfbjni.so' PickFirst 'lib/x86/libfbjni.so' PickFirst 'lib/x86/libc++_shared.so' PickFirst 'lib/x86_64/libc++_shared.so' PickFirst 'lib/armeabi-v7a/libc++_shared.so' } // Варианты приложения, например. отладка, выпуск applicationVariants.all {вариант -> вариант.outputs.each {вывод -> // Для каждого отдельного APK для каждой архитектуры установите уникальный код версии, как описано здесь: // https://developer.android.com/studio/bu ... plits.html // Пример: код версии 1 будет генерировать 1001 для Armeabi-v7a, 1002 для x86 и т. д. def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] защита abi = выход.getFilter(OutputFile.ABI) if (abi != null) { // null для вариантов универсальной отладки и универсальной версии выход.versionCodeOverride = defaultConfig.versionCode * 1000 + versionCodes.get(abi) } } } } зависимости { реализация «androidx.work:work-runtime:2.7.0-alpha05» // Для Котлина реализация 'androidx.work:work-runtime-ktx:2.7.0-alpha05' // реализация 'com.facebook.soloader:soloader:0.9.0+' реализация fileTree(dir: "libs", include: ["*.jar"]) //без проверки GradleDynamicVersion реализация "com.facebook.react:react-native:+" // Из node_modules проект реализации(':react-native-android-location-enabler') реализация "androidx.swiperefreshlayout: swiperefreshlayout: 1.0.0" реализация 'androidx.constraintlayout:constraintlayout:2.1.4' // проект реализации(':react-native-toast-native') debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { исключить группу: «com.facebook.fbjni» } debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { исключить группу: 'com.facebook.flipper' исключить группу: «com.squareup.okhttp3», модуль: «okhttp» } debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { исключить группу: 'com.facebook.flipper' } реализация(проект(':реагировать-родные-карты')) { исключить группу: «com.google.android.gms», модуль: «play-services-base» исключить группу: «com.google.android.gms», модуль: «play-services-maps» } реализация 'com.google.android.gms:play-services-base:17.2.1' реализация 'com.google.android.gms:play-services-maps:17.0.0' проект реализации(':react-native-community-geolocation'); если (enableHermes) { реализация("com.facebook.react:hermes-engine:+") { исключить группу: «com.facebook.fbjni» } // def hermesPath = "../../node_modules/hermes-engine/android/"; // файлы debugImplementation(hermesPath + "hermes-debug.aar") // файлы ReleaseImplementation(hermesPath + "hermes-release.aar") } еще { реализация jscFlavor } } // Запустите это один раз, чтобы иметь возможность запускать приложение с помощью BUCK // помещает все зависимости компиляции в папки libs для использования BUCK задача copyDownloadableDepsToLibs (тип: Копировать) { из конфигураций.реализация в "библиотеки" } применить из: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle (проект)
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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