本机如何禁用android开发模式

时间:2015-11-12 21:35:36

标签: android react-native

我已经读过,禁用Android中的开发模式可以帮助加快Android模拟器的一些问题,因为它目前一直没有响应。如何禁用开发模式?我无法在react本机文件中的任何地方找到任何bool值或任何内容。

4 个答案:

答案 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"。

// 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

中将构建类型变体dev模式设置为false
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您会发现增强功能功能变为开启,模式成为生产。