当前位置: 首页 > 知识库问答 >
问题:

Android Gradle插件问题:当AGP更新到4.1.2时,React原生应用程序(刚刚发布)崩溃

司马庆
2023-03-14

我有一个反应本机应用程序,它内置到Android应用程序以及与Android gradle插件(AGP)版本3.5.2的帮助。

在将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?我应该对构建进行哪些更改。格雷德尔来修吗?

共有1个答案

芮安顺
2023-03-14

我在React Native问题仪表板上找到了这个问题https://github.com/facebook/react-native/issues/30761

所以,我应该将AGP版本降级到4.0.1(选中,它可以工作),或者使用4.1.2,对react做一些小的更改。渐变脚本

        // 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)
 类似资料:
  • 构建指纹:'Google/Sailfish/Sailfish:8.0.0/OPR3.170623.008/4294783:User/Release-Keys'修订:'0'ABI:'ARM64'pid:10010,tid:10046,name:ControllerMesse>>>>com.xxxxxx<< 有人能给我指个正确的方向吗。

  • 问题内容: 我只是运行了一个简单的MySQL CREATE TABLE语句,该语句产生了这一行 “查询确定,受影响的行为0,警告为1(0.07秒)。” 但是,它实际上并没有告诉我警告是什么。您如何查看刚刚发生的警告的内容?我正在使用MySQL 5.1,如果有帮助的话。我在网上唯一发现的是“ SHOW WARNINGS;但这只会产生 “空集(0.00秒)。” 问题答案: 是我知道的唯一方法,但是必须

  • 我有一个可以从网页上的按钮打开的应用程序。我在清单中有一个意图过滤器,如下所示: 如果用户没有安装应用程序,该链接将打开Play Store。如果用户拥有该应用程序,则会将其打开。 问题是当用户最近安装应用程序时。如果用户安装了应用程序,但从未打开它,当他选择URL时,将打开Play Store而不是我的应用程序。一旦用户第一次打开应用程序,那么所有应用程序都会正常工作。 有没有办法打开应用程序总

  • 我已经在我的Windows-7-64 PC上成功地在visual studio 2015(使用IDE)中开发了WinAPI应用程序。我通常在发布模式下测试该程序。 然后我对我的源代码进行了一些编辑。程序编译和链接没有错误,但程序的行为并不像我预期的那样,所以我切换到调试模式并尝试构建和运行。再次VS编译和链接没有错误,但随后投诉 “无法启动程序'f:\dropbox\blah\x64\Debug\

  • 我用react Native做了一个应用程序。应用程序连接到我制作的api。我执行了以下步骤:https://facebook.github.io/react-native/docs/signed-apk-android,现在如果我执行react-native run-android-variant=release,应用程序就不工作了。有没有办法看看我有没有什么错误什么的? 我想要的应用程序的工作

  • 米哈游系统策划,刚刚收到了笔试暂不匹配的邮件通知,想知道友友们情况如何。