【发布时间】:2019-12-25 12:38:22
【问题描述】:
我正在使用 react-native (0.59) 开发一个 android 应用程序,我想在不同的设备上对其进行测试。我的目标是创建一个 .apk 文件,只需传输文件即可安装,无需运行开发服务器、USB 电缆等。
我查看了有关该主题的先前问题的不同回复,但到目前为止没有任何效果。
此回复仍需要开发服务器才能运行:How to generate dev APK file without asking for dev settings server ip in react native
此回复生成一个不会安装在设备上的 apk,并显示错误“未安装应用程序”:Build and Install unsigned apk on device without the development server?
我尝试了 react-native 文档中的发布方法(参考:https://facebook.github.io/react-native/docs/signed-apk-android),我生成了 .aab 文件,然后我使用 bundletools 将其与 apk 进行转换,如下所述:Generate Apk file from aab file (android app bundle) in这个答案:
到目前为止,还没有人提供从 AAB 获取 APK 的解决方案。
此解决方案将生成一个通用二进制文件作为 apk。
将 --mode=universal 添加到您的 bundletool 命令(如果您需要签名的 应用,根据需要使用--ks参数)。
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks --mode=universal 将输出文件名从 .apks 更改为 .zip
解压并探索
文件universal.apk 是您的应用程序
这个通用二进制文件可能会很大,但它是一个很好的解决方案 用于发送到 QA 部门或在任何地方分发应用程序 Google Play 商店除外。
但不幸的是,当我打开 .zip 文件时,没有名为 universal.apk 的文件:
所有 .apk 的大小都非常小(大约 10mb,而 .aab 文件为 300)。
还有其他解决办法吗?
【问题讨论】:
标签: android react-native apk