我有一个React Native应用程序,在Android gradle插件(AGP)3.5.2版,react native版本0.61.5的帮助下,它很好地内置到了android应用程序中。
当我将AGP升级到4.1.2时,我遇到了一个相当奇怪的问题:我可以构建应用程序的调试版本和发布版本,调试版本工作得很好,没有任何抱怨,但当我开始发布版本时,我遇到了崩溃,并出现了这样的错误
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)因此,在AGP 3.5.2中还可以,在AGP 4.1.2中,我在发布捆绑包方面遇到了一些问题。
它可以用最新版本的AGP修复吗?或者我应该降级AGP吗?我应该对build.gradle进行哪些更改才能修复它?
发布于 2021-03-26 21:52:17
我在React Native issue仪表板https://github.com/facebook/react-native/issues/30761上发现了这个问题
因此,我应该将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)https://stackoverflow.com/questions/66768411
复制相似问题