该应用是使用React Native制作的,并且在两个模拟器/模拟器中都可以正常运行。
同样在iPhone上(通过usb ...在调试模式下)。
我无法在Android上尝试(没有“内部版本号”!?)。
我尚未将其上传到“ App Store” ...
但是当我从“ Google Play”下载它时,该应用在启动时崩溃。
注意:我“使用Android Studio中的签名/键盘工具UI”生成APK。
我发现了这个:Support third-party 64-bit libraries on Android.
我尝试了以下解决方案:Mixing 32- and 64-bit Dependencies in Android.
和其他类似的东西...
我尝试删除ios和android文件,然后再次运行ios和android ...
此外,尝试上传“ Android应用程序捆绑包”而不是APK(使用该应用程序甚至无法下载...不仅待处理。只有微调框可以查看...
因此,没有任何效果!
然后我意识到我在Android设备上收到一条错误消息:
java.lang.RuntimeException: Unable to load script. Make sure you're either running a Metro server or that your bundle index.android.bundle is packaged correctly for release.
我发现了这个:Release APK fails immediately on launch.
我想尝试以下评论,但我不理解。
@alexmbp
好吧。正在与
一起使用1 react-native run-android --variant = release
2并带有./gradlew assembleRelease和配置签名。
3另外,我已经更新了gradle,应该将其设置为android.enableAapt2 = false。
可能与gradle更新有关。
有人可以解释一下...
我认为1只是终端中的命令。
但是2和3是什么?
谢谢:)
答案 0 :(得分:1)
在项目的react native目录中运行以下命令,然后在此之后构建您的应用程序:
react-native包--platform android --dev否--entry-file index.js --bundle-output android \ app \ src \ main \ assets * index.android.bundle * --assets-dest android \ app \ src \ main \ res
希望这会有所帮助。祝您编码愉快!
答案 1 :(得分:0)
如果使用debug
构建,则默认情况下不会创建本机捆绑包。相反,它期望您在计算机上运行捆绑器,并且电话已连接到计算机。
提交到Play商店时,无论如何都应该为发布而构建(gradle assembleRelease
),但也可以通过将以下内容添加到debug
文件中,使其在android/app/build.gradle
中生成捆绑包:
project.ext.react = [
entryFile: "index.js", //this part is there by default
bundleInDebug: true, //this causes it to bundle when building debug, defaults to false
bundleInRelease: true, //this causes it to bundle when building release, defaults to true
]