【问题标题】:How to generate an apk that works without dev server in react native如何在本机反应中生成无需开发服务器即可工作的apk
【发布时间】: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


    【解决方案1】:

    在你通过https://facebook.github.io/react-native/docs/signed-apk-android 之后,你可以简单地运行

    // for build and run
    react-native run-android --variant=release
    

    把apk放进去

    <rn_project_dir>/android/app/build/outputs/apk/release/app-release.apk
    

    【讨论】:

      猜你喜欢
      • 2017-12-11
      • 2020-01-01
      • 1970-01-01
      • 2023-01-17
      • 2018-06-04
      • 2018-05-07
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多