在将RN应用程序升级到RN0.68之后,发布版构建会出现错误:
FATAL EXCEPTION: create_react_context
Process: com.app, PID: 15057
java.lang.RuntimeException: Unable to load script. Make sure you're either running Metro (run 'npx react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.该应用程序在开发中运行良好,升级前也很好。它使用的是爱马仕,但不使用新的织物结构。
当构建APK,然后查看其内容时,我们可以看到包没有被复制。但是它正确地构建在中间构件中:
$ ./gradlew assembleRelease
…
BUILD SUCCESSFUL in 45s
1050 actionable tasks: 14 executed, 1036 up-to-date
$ unzip -l app/build/outputs/apk/release/app-arm64-v8a-release.apk | grep bundle
<nothing>
$ ls -l app/build/outputs/apk/release/app-arm64-v8a-release.apk
-rw-r--r-- 1 renchap staff 15618010 Apr 12 21:03 app/build/outputs/apk/release/app-arm64-v8a-release.apk
$ find . -name "index.android.bundle"
./app/build/generated/assets/react/release/index.android.bundle
./app/build/intermediates/merged_assets/release/out/index.android.bundle
./app/build/intermediates/merged_assets/release/mergeReleaseAssets/out/index.android.bundle
./app/build/intermediates/assets/release/index.android.bundle
$ ls -lh ./app/build/intermediates/assets/release/index.android.bundle
-rw-r--r-- 1 renchap staff 11M Apr 12 19:48 ./app/build/intermediates/assets/release/index.android.bundle我怀疑没有构建步骤,也没有复制到最终目录,但是我不太熟悉Gradle或RN的构建过程来检查这个步骤。
您是否知道是什么原因导致了这种情况,或者在哪里进行故障排除?
发布于 2022-04-13 10:28:53
在将构建文件与一个全新的RN应用程序进行比较之后发现了它!
我有
classpath("com.android.tools.build:gradle:7.1.2")在android/build.gradle中
但是对于RN0.68,您需要完全依赖7.0.4版本,否则JS包不会被复制到最终的APK中。
在切换到
classpath("com.android.tools.build:gradle:7.0.4")https://stackoverflow.com/questions/71847922
复制相似问题