在设备上安装Android App Bundle

prf*_*low 49 android android-app-bundle

我使用新的Android App Bundle格式构建了我的项目.使用APK文件,我可以将APK下载到我的设备,打开它,然后立即安装应用程序.我将我的应用程序作为捆绑包(.aab格式)下载,运行Android 8.1的Nexus 5X无法打开该文件.有没有办法以与APK相同的方式在设备上安装AAB?

key*_*fer 62

简答:不

更长的回答:

Android App Bundles是一种发布格式.Android设备需要.apk文件才能安装应用程序.

您正在安装的PlayStore或任何其他来源需要从捆绑包中提取apks,对每个来源进行签名,然后针对目标设备安装它们.

从.aab到.apk的转换是通过bundletool完成的

  • Bundletool 的发布版(而不是源文件)位于:https://github.com/google/bundletool/releases (3认同)

Ert*_*maa 41

对于 MAC:

brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks
Run Code Online (Sandbox Code Playgroud)

  • 安装bundletool需要大约2 Gbs的依赖项... (9认同)
  • @Furquan,显示的路径是您连接的设备中的路径。该命令会将 apk 安装到您的设备上。 (2认同)

wha*_*are 34

universal.apk对于那些想要可以在每个 Android 设备上运行的单机版的人:

brew install bundletool
bundletool build-apks --mode universal --bundle ./app-release.aab --output ./app.apks
mv app.apks app.zip
unzip app.zip
Run Code Online (Sandbox Code Playgroud)

现在,您可以获得您的universal.apk

  • 喜欢它,比提到的独立/分割目录更好 (2认同)

Oma*_*din 28

直接从设备安装aab,我找不到办法.但是有一种方法可以通过命令行使用以下文档安装它您可以通过BundleTool将apk安装到设备 现在可以从aab文件安装extract apks并将其安装到设备

通过下一个命令提取apk文件

java -jar bundletool-all-0.3.3.jar build-apks --bundle = bundle.aab --output = app.apks --ks = my-release-key.keystore --ks-key-alias = alias - -ks通=传递:密码

参数:
--bundle - > Android Bundle .aab文件
--output - >生成的apk文件的目标和文件名
--ks - >用于生成Android Bundle的密钥库文件
--ks-key-alias - > Alias for密钥库文件
--ks-pass - >别名文件的密码(请注意密码值前的'pass'前缀)

然后你将有一个扩展名为.apks的文件所以现在你需要将它安装到一个设备上

java -jar bundletool-all-0.6.0.jar install-apks --adb =/android-sdk/platform-tools/adb --apks = app.apks

参数:
- adb - > adb文件路径
--apks - >需要安装Apks文件

  • 如果使用Mac,则可以使用Homebrew安装Bundletool:`brew install bundletool`。然后只需运行以下命令:`bundletool build-apks --bundle =。/ app / release / app.aab --output =。/ app / release / app.apks` (10认同)
  • --ks-pass=pass:password 指定密钥库的密码。要为密钥文件指定密码,请使用 --key-pass=pass:password (3认同)

Kar*_*a_M 17

如果你想从你的 aab 安装 apk 到你的设备上进行测试,那么你需要在连接的设备上运行之前编辑配置。

  1. 转到编辑配置
    在此处输入图片说明
  2. 选择 Deploy 下拉列表并将其从“默认 apk”更改为“来自应用程序包的 APK”。在此处输入图片说明
  3. 应用更改,然后在连接的设备上运行它。进行此更改后,构建时间将增加。

这将直接在从 aab 连接的设备上安装 apk。

  • 这帮助我复制了一个仅在发布版本中出现的错误。事实证明,从 AAB 安装时会出现该错误。多谢。 (6认同)

Ali*_*oor 9

您无法将应用程序捆绑包[NAME].aab直接安装到android设备,因为它是发布格式,但是有一种方法可以apk从其中提取所需的内容bundle并将其安装到您的设备上,过程如下

  1. 此处下载应用程序包
  2. 在您的终端上运行它,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
Run Code Online (Sandbox Code Playgroud)
  1. 最后一步将生成一个名为的文件out_bundle_archive_set.apks,只需将其重命名out_bundle_archive_set.zip为zip文件并解压缩该zip文件,然后跳转到文件夹中out_bundle_archive_set > standalones,您将在其中看到所有apk的列表

有来自Android开发人员的捆绑工具链接参考

android开发人员参考

  • 没有名为standalones的文件夹,而是有名为splits的文件夹 (3认同)

mah*_*mnj 9

这对我在 Mac 上有用。您需要使用一个名为bundletool的工具,如果尚未安装,可以使用它来安装它brew

brew install bundletool
Run Code Online (Sandbox Code Playgroud)

运行此命令以提取 apks 文件并将其存储在所需位置

bundletool build-apks --bundle=path/to/app-release.aab --output=/path/to/output/app.apks --local-testing
Run Code Online (Sandbox Code Playgroud)

在连接的 Android 设备上安装

bundletool install-apks --apks=/path/to/output/app.apks
Run Code Online (Sandbox Code Playgroud)

我在这里注意到了完整的命令,其要点如下:https://gist.github.com/maheshmnj/6f5debbfae2b8183d94ca789d081f026


小智 5

要转换 aab ro apk,请按照以下简单步骤操作:

1.从此链接下载bundltool-all-1.14.1.jar

2.将[your-aab-file-name].aab 和bundletool-all-1.14.1.jar 移至桌面。

3.打开终端并写入此代码cd .\Desktop\并按 Enter 键。{这将带您进入桌面}

4.现在编写此代码并按回车键:

C:\Users\[Your-user-name]\Desktop\bundletool-all-1.14.1.jar build-apks --bundle=[Your-aab-file-name.aab] --output=app-release.aab.apks --mode=universal
Run Code Online (Sandbox Code Playgroud)

5.之后,您的桌面上会出现一个名为“app-release.aab.apks”的文件,使用 WinRAR {或类似的东西}打开它,您将获得 apk 文件,并且可以安装它。