Android Gradle插件问题:将AGP更新为4.1.2时,React本机应用程序(刚刚发布)崩溃
我有一个React原生应用程序,在Android gradle插件(AGP)版本3.5.2,React原生版本0.61.5的帮助下,它很好地内置到Android应用程序中 在将AGP升级到4.1.2时,我遇到了一个相当奇怪的问题:我可以构建应用程序的调试版本和发布版本,调试版本运行良好,没有任何抱怨,但当我开始发布版本时,我遇到了这样的错误Android Gradle插件问题:将AGP更新为4.1.2时,React本机应用程序(刚刚发布)崩溃,android,react-native,android-gradle-plugin,Android,React Native,Android Gradle Plugin,我有一个React原生应用程序,在Android gradle插件(AGP)版本3.5.2,React原生版本0.61.5的帮助下,它很好地内置到Android应用程序中 在将AGP升级到4.1.2时,我遇到了一个相当奇怪的问题:我可以构建应用程序的调试版本和发布版本,调试版本运行良好,没有任何抱怨,但当我开始发布版本时,我遇到了这样的错误 E/AndroidRuntime: FATAL EXCEPTION: create_react_context Process: com.app.qa, P
E/AndroidRuntime: FATAL EXCEPTION: create_react_context
Process: com.app.qa, PID: 21103
java.lang.RuntimeException: Unable to load script. Make sure you're either running a Metro server (run 'react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.
at com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(Native Method)
at com.facebook.react.bridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl.java:227)
at com.facebook.react.bridge.JSBundleLoader$1.loadScript(JSBundleLoader.java:28)
at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:261)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1175)
at com.facebook.react.ReactInstanceManager.access$1000(ReactInstanceManager.java:125)
at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:951)
at java.lang.Thread.run(Thread.java:923)
所以,使用AGP3.5.2没关系,使用AGP4.1.2,我在发布包方面遇到了一些问题
它可以用最新版本的AGP修复,还是应该降级AGP?我应该对build.gradle进行哪些更改来修复它?我在React Native issue dashboard中发现了这个问题 所以,我应该将AGP版本降级到4.0.1(选中,它可以工作),或者使用4.1.2,对react.gradle脚本做一些小的更改
// mergeResources task runs before the bundle file is copied to the intermediate asset directory from Android plugin 4.1+.
// This ensures to copy the bundle file before mergeResources task starts
def mergeResourcesTask = tasks.findByName("merge${targetName}Resources")
mergeResourcesTask.dependsOn(currentAssetsCopyTask)