我已经读过,禁用Android中的开发模式可以帮助加快Android模拟器的一些问题,因为它目前一直没有响应。如何禁用开发模式?我无法在react本机文件中的任何地方找到任何bool值或任何内容。
答案 0 :(得分:21)
如果您在react-native应用程序(F2或愤怒摇动)中打开菜单并选择开发选项,则可以选择关闭开发模式以及其他选项,例如实时重新加载
答案 1 :(得分:4)
我更喜欢使用简单的gradle命令行构建apk的方法。 我需要使用bundle本地JS构建一个app-preprod.apk,并关闭它的开发模式,从发布版本中设置一些不同的api主机名设置。
看了google和stackoverflow之后,我最终找到了PROJECT_PATH\node_modules\react-native\react.gradle
,结果反应只会在android构建变体名称包含" release"。时关闭开发模式。 p>
// 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")
并在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/
答案 2 :(得分:0)
我还没试过这个,但我很确定你是否打开以下文件...
/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";
应该做的伎俩
答案 3 :(得分:0)
您还可以尝试运行npm start
,然后按d
切换当前模式,然后按ctr+c
停止npm,然后再次运行exp start
您会发现增强功能功能变为开启,模式成为生产。