使用Android产品口味时,React Native Metro Bundle无法正常工作

时间:2018-12-10 15:01:16

标签: android react-native gradlew

我正在更改代码以构建devprod环境。我发现使用产品调味料是一个不错的选择,所以我的app/build.gradle现在有:

project.ext.react = [
   entryFile: "index.js",
   bundleInDevelopmentDebug: true // This makes it works without reload function
]

{{ THE DEFAULT CONFIG }}

flavorDimensions "version"

// Flavors
productFlavors {
    production {
        dimension "version"

        resValue "string", "app_name", "directa"
    }
    development {
        dimension "version"
        versionCode 4
        versionName "1.2.5"

        applicationId "com.directapp.dev"

        resValue "string", "app_name", "directa dev"
    }
}

当我运行react-native run-android --variant=developmentDebug时,它会运行并安装该应用程序,但是如果我尝试输入重新加载,则会出现perf ...菜单,但不会出现。 Metro Bundler已初始化,但在首次启动时甚至没有加载捆绑包。

1 个答案:

答案 0 :(得分:0)

我不断收到以下错误

Error type 3 Error: Activity class {com.myapp/com.myapp.MainActivity} does not exist.

使用react-native run-android --variant=developmentDebug构建android项目时

经过大量研究,我无法找到一种解决方案,该解决方案可以停止该错误并像不使用香料时那样启动应用程序。我确实找到了这个medium article,其中讨论了如何在不同的环境下设置项目。在第5部分 Bug Alert!中有他的小宝贝:

  

存在一个已知的错误,该错误会在添加产品口味后运行   命令将不再自动启动主要活动。一个简单的   快速解决方案是仅在设备/模拟器上手动启动应用。

一旦我手动启动该应用程序,就会加载Metro bundler,一旦完成加载,我便可以正常使用调试菜单。甚至点击 RR 都会重新加载模拟器。