Реагировать на родные, как отключить режим Android-андроида

Я читал, что отключение режима dev в Android может помочь ускорить некоторые проблемы с эмулятором Android, поскольку он не реагирует на данный момент. Как отключить режим dev? Я не могу найти ни одного значения bool или чего-либо в любом месте реагирующих файлов.

Ответ 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, вы увидите, что функция улучшения включена, и режим стал производством,