Я читал, что отключение режима dev в Android может помочь ускорить некоторые проблемы с эмулятором Android, поскольку он не реагирует на данный момент. Как отключить режим dev? Я не могу найти ни одного значения bool или чего-либо в любом месте реагирующих файлов.
Реагировать на родные, как отключить режим Android-андроида
Ответ 1
Если вы откроете меню в интерактивных приложениях (F2 или rage shake) и выберите опции dev, есть возможность отключить режим dev вместе с другими параметрами, такими как live reload
Ответ 2
Я предпочел способ сборки apk с помощью простой командной строки gradle. Мне нужно создать app-preprod.apk с пакетом, отредактировать собственный JS и отключить его режим dev, чтобы установить некоторые разные настройки имени хоста api из сборки выпуска.
После просмотра google и stackoverflow, я закончил поиск PROJECT_PATH\node_modules\react-native\react.gradle
, и, оказывается, реакция отключит режим dev, когда имя варианта сборки android содержит "release".
// Set up dev mode
def devEnabled = !targetName.toLowerCase().contains("release")
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine "cmd", "/c", "react-native", "bundle", "--platform", "android", "--dev", "${devEnabled}",
"--entry-file", entryFile, "--bundle-output", jsBundleFile, "--assets-dest", resourcesDir
} else {
commandLine "react-native", "bundle", "--platform", "android", "--dev", "${devEnabled}",
"--entry-file", entryFile, "--bundle-output", jsBundleFile, "--assets-dest", resourcesDir
}
Итак, я просто реорганизую devEnabled, следуя моим собственным настройкам devInXxx
def devEnabled = config."devIn${targetName}" == false ? false : !targetName.toLowerCase().contains("release")
И установите для параметра типа сборки dev mode значение false в PROJECT_PATH/android/build.gradle
project.ext.react = [
bundleInPreprod: true,
devInPreprod: false]
Чтобы очистить сборку, удалите все файлы в разделе "PROJECT_PATH/android/app/build" и запустите gradle, чтобы собрать вариант сборки только
PROJECT_PATH/android$ ./gradlew assemblePreprod
который построит app-preprod.apk, который в комплекте js и отключит режим dev. Обычно под папкой PROJECT_PATH/android/app/build/output/apk/
Ответ 3
Я не пробовал это, но я уверен, что вы откроете следующий файл...
/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java
И вы меняете это...
private static final String BUNDLE_URL_FORMAT =
"http://%s/%s.bundle?platform=android&dev=%s";
к этому...
private static final String BUNDLE_URL_FORMAT =
"http://%s/%s.bundle?platform=android";
Это должно сделать трюк
Ответ 4
Вы также можете попробовать запустить npm start
, затем нажмите d
, чтобы переключить текущий режим, затем остановите npm на ctr+c
, а затем запустите снова exp start
, вы увидите, что функция улучшения включена, и режим стал производством,