ошибка: сбой объединения: нарушение неизменности: недопустимое разрешение актива

Я получаю это при попытке загрузить приложение с устройства Android (1+ 5t)

error: bundling failed: Invariant Violation: invalid asset resolution
    at invariant (~/project/node_modules/metro/node_modules/fbjs/lib/invariant.js:40:15)
    at ModuleResolver._getFileResolvedModule (~/project/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:175:9)
    at ModuleResolver.resolveDependency (~/project/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:116:19)
    at ResolutionRequest.resolveDependency (~/project/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:49:18)
    at DependencyGraph.resolveDependency (~/project/node_modules/metro/src/node-haste/DependencyGraph.js:218:16)
    at Object.resolve (~/project/node_modules/metro/src/lib/transformHelpers.js:141:30)
    at dependencies.map.result (~/project/node_modules/metro/src/DeltaBundler/traverseDependencies.js:373:31)
    at Array.map (<anonymous>)
at resolveDependencies (~/project/node_modules/metro/src/DeltaBundler/traverseDependencies.js:369:18)
at ~/project/node_modules/metro/src/DeltaBundler/traverseDependencies.js:188:33
BUNDLE  [android, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1), failed.

Пытался:

- react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
- react-native start --reset-cache
- rm -rf node_module & yarn install

и это - не сработало

Любая помощь будет оценена


person gor    schedule 16.05.2019    source источник


Ответы (2)


исправить: удалить .ios. из имени изображения, так как мое приложение в настоящее время работает только на ios, у меня были остатки в именах некоторых изображений, таких как '[email protected]', поэтому при работе на Android response native не мог найти никаких ресурсов

person gor    schedule 20.05.2019

при использовании React Native Platform Api (https://reactnative.dev/docs/platform), если у вас есть 2 файла в папке с ресурсами для отображения другого пользовательского интерфейса, один для Android и один для iOS, когда вы вызываете свое изображение, вы должны удалить тип Os внутри имени вашего файла.

То есть buttonIcon.android.png || buttonIcon.ios.png = ›buttonIcon.png

API React Native Platform сделает переключение.

ex :

var displayShareButton = () = ›{if (data! = undefined && Platform.OS === android) {return (‹ TouchableOpacity style = {styles.shareButton} onPress = {() = ›shareSomething ()}› Стиль изображения = {styles.shareImage} source = {require (../ assets / buttonIcon.png)} / ›)}}

Надеюсь, это устранит неполадки :)

person Le Goaziou Julien    schedule 21.01.2021