Подписанное приложение 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.