Подписанное приложение React Native неправильно загружает ресурсы

Итак, я запускаю приложение в режиме отладки с помощью USB-кабеля, все работает нормально. Затем я запускаю релизную версию с помощью USB-кабеля, он тоже работает нормально, пока я не отключу его от телефона и не перезапущу приложение. Приложение больше не может загружать ресурсы. Я перепробовал все способы, указанные здесь и здесь, но все равно не помог.

Когда приложение не может загрузить ресурсы, оно регистрирует это сообщение:

[Error: Could not fetch data from url http://localhost:8081/assets/src/assets/modelv2.pb?platform=android&hash=889b05962c1b1b35b1c07a84b98bcc63]
      framesToPop: 1,
      code: 'EUNSPECIFIED',
      line: 17119,
      column: 31,
      sourceURL: 'http://localhost:8081/index.delta?platform=android&dev=true&minify=false' }

Таким образом, это означает, что он все еще пытается получить ресурсы от локального хост-упаковщика, который мертв. Пожалуйста, помогите мне!

React Native: ^ 0.55.4

Реагировать: ^ 16.3.1

index.js

import { AppRegistry } from 'react-native';
import App from './App'; 
AppRegistry.registerComponent('TagMosquito', () => App);

1 ответ

Установлен shrinkResources к falseбудет работать в этом случае. Gradle может автоматически удалять ресурсы (неиспользуемые) от вашего имени, если вы включитеshrinkResources в вашем приложении build.gradle файл.

release {
            ..
            minifyEnabled true
            shrinkResources false    <-- set this false
            proguardFiles getDefaultProguardFile()
        }

Если вы хотите создать подписанный APK(подписанный apk, используемый для Android APK, поэтому я думаю, что вы хотите создать APK), вам сначала нужно создать пакет. Если вы уже создали его, дайте мне знать команду, которую вы использовали, а также просто поделитесь снимком экрана со структурой вашего проекта, и он также покажет путь к вашему основному файлу индекса и папке с ресурсами Android, тогда я дам вам команду. Пока что ты просто.

Если нет, используйте приведенные ниже команды.

Android

Реактивный пакет --entry-file index.js --platform android --dev false --bundle-output ./android/app/src/main/assets/index.android.bundle --assets-dest ./android/ приложение / SRC / основные / RES /

iOS (это создать самостоятельно, но если нет, используйте команду ниже)

Реактивный пакет --entry-file index.js --platform ios --dev false --bundle-output main.jsbundle

Пожалуйста, дайте мне знать, если какая-либо команда не работает, тогда она нуждается в некоторой модификации. Если это сработает, вам нужно проверить, будет ли создан новый файл с именем main.jsbundle.

Другие вопросы по тегам