在设备上安装 Android 个 App Bundle
Install Android App Bundle on device
我使用新的 Android App Bundle 格式构建了我的项目。使用 APK 文件,我可以将 APK 下载到我的设备,打开它,然后立即安装应用程序。我以捆绑包(.aab 格式)下载我的应用程序,但我的 Nexus 5X 运行 Android 8.1 无法打开该文件。有什么方法可以像安装 APK 一样方便地在设备上安装 AAB?
简答:
不直接。
更长的答案:
Android App Bundle 是 Google Play 商店中应用的默认发布格式。但是 Android 台设备需要 .apk
个文件来安装应用程序。
Play 商店或您从中安装的任何其他来源将从捆绑包中提取 apk,对每个 apk 进行签名,然后将它们安装到特定的目标设备。
从 .aab 到 .apk 的转换是通过 bundletool 完成的。
您可以使用 Internal App Sharing 将应用的可调试版本上传到 Play 商店并与测试人员分享。
直接从设备安装aab,我找不到方法。
但是有一种方法可以使用以下命令通过命令行安装它 documentation You can install apk to a device through BundleTool
根据“@Albert Vila Calvo”的评论,他指出要使用 HomeBrew 安装 bundletools,请使用 brew install bundletool
您现在可以安装从 aab 文件中提取的 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-pass=pass:password
参数:
- --捆绑 -> Android 捆绑 .aab 文件
- --输出 -> 生成的 apk 文件的目标和文件名
- --ks -> 用于生成 Android 包的密钥库文件
- --ks-key-alias -> 密钥库文件的别名
- --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文件
您无法将应用程序包 [NAME].aab
直接安装到 android 设备,因为它是发布格式,但可以从 bundle
中提取所需的 apk
并安装它给你的设备,过程如下
- 从 here
下载 bundletool
- 运行 在您的终端中,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
- 最后一步会生成一个名为
out_bundle_archive_set.apks
的文件,只需将其重命名为out_bundle_archive_set.zip
并解压zip文件,跳转到文件夹out_bundle_archive_set > standalones
,在那里你会看到一个列表所有应用程序
android 开发人员参考了捆绑工具 link
使用(在 Linux 上):
CD android
./gradlew assemblyRelease|assemblyDebug
为每个案例生成一个未签名的 APK(用于调试或测试)
注意:在 Windows 上,为 gradlew.bat
替换 gradle 可执行文件
对于MAC:
brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks
如果您想将 apk 从您的 aab 安装到您的设备以进行测试,那么您需要在 运行 在连接的设备上安装它之前编辑配置。
- 转到编辑配置
- Select 部署下拉菜单并将其从 "Default apk" 更改为 "APK from app bundle"。
- 应用更改,然后在连接的设备上运行。进行此更改后,构建时间将增加。
这将直接在从 aab 连接的设备上安装 apk。
对于那些想要在每个 android 设备上 运行 的单个 universal.apk
的人:
brew install bundletool
bundletool build-apks --mode universal --bundle ./app-release.aab --output ./app.apks
mv app.apks app.zip
unzip app.zip
现在,您可以universal.apk
有没有什么方法可以像安装 APK 一样方便地在设备上安装 AAB?
因为安装是通过第三方应用程序或移动公司文件管理器(如应用程序)完成的。
即将推出的文件管理器版本将附带“aab”管理工具。
我在 Playstore 上搜索了“android aab 安装程序”并找到了一个。
故意不命名。
我安装的那个,在线解压包,
但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的 mi [miui] 设备上)。
但是这个应用程序将在线提取的 apk 保存在 phone 内存中,我可以从那里安装它。
记住:
Google 的“文件”应用程序无法安装此 apk
但
我的系统(内置)文件管理器能够。
这对我有用mac。
您需要使用一个名为 bundletool 的工具 如果尚未使用 brew
安装,您可以安装它
brew install bundletool
运行 此命令用于提取 apks 文件并将其存储在所需位置
bundletool build-apks --bundle=path/to/app-release.aab --output=/path/to/output/app.apks --local-testing
在已连接的 Android 设备上安装
bundletool install-apks --apks=/path/to/output/app.apks
我已经在此处的要点中记录了完整的命令和输出 https://gist.github.com/maheshmnj/6f5debbfae2b8183d94ca789d081f026
我使用新的 Android App Bundle 格式构建了我的项目。使用 APK 文件,我可以将 APK 下载到我的设备,打开它,然后立即安装应用程序。我以捆绑包(.aab 格式)下载我的应用程序,但我的 Nexus 5X 运行 Android 8.1 无法打开该文件。有什么方法可以像安装 APK 一样方便地在设备上安装 AAB?
简答:
不直接。
更长的答案:
Android App Bundle 是 Google Play 商店中应用的默认发布格式。但是 Android 台设备需要 .apk
个文件来安装应用程序。
Play 商店或您从中安装的任何其他来源将从捆绑包中提取 apk,对每个 apk 进行签名,然后将它们安装到特定的目标设备。
从 .aab 到 .apk 的转换是通过 bundletool 完成的。
您可以使用 Internal App Sharing 将应用的可调试版本上传到 Play 商店并与测试人员分享。
直接从设备安装aab,我找不到方法。
但是有一种方法可以使用以下命令通过命令行安装它 documentation You can install apk to a device through BundleTool
根据“@Albert Vila Calvo”的评论,他指出要使用 HomeBrew 安装 bundletools,请使用 brew install bundletool
您现在可以安装从 aab 文件中提取的 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-pass=pass:password
参数:
- --捆绑 -> Android 捆绑 .aab 文件
- --输出 -> 生成的 apk 文件的目标和文件名
- --ks -> 用于生成 Android 包的密钥库文件
- --ks-key-alias -> 密钥库文件的别名
- --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文件
您无法将应用程序包 [NAME].aab
直接安装到 android 设备,因为它是发布格式,但可以从 bundle
中提取所需的 apk
并安装它给你的设备,过程如下
- 从 here 下载 bundletool
- 运行 在您的终端中,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
- 最后一步会生成一个名为
out_bundle_archive_set.apks
的文件,只需将其重命名为out_bundle_archive_set.zip
并解压zip文件,跳转到文件夹out_bundle_archive_set > standalones
,在那里你会看到一个列表所有应用程序
android 开发人员参考了捆绑工具 link
使用(在 Linux 上): CD android ./gradlew assemblyRelease|assemblyDebug
为每个案例生成一个未签名的 APK(用于调试或测试)
注意:在 Windows 上,为 gradlew.bat
替换 gradle 可执行文件对于MAC:
brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks
如果您想将 apk 从您的 aab 安装到您的设备以进行测试,那么您需要在 运行 在连接的设备上安装它之前编辑配置。
- 转到编辑配置
- Select 部署下拉菜单并将其从 "Default apk" 更改为 "APK from app bundle"。
- 应用更改,然后在连接的设备上运行。进行此更改后,构建时间将增加。
这将直接在从 aab 连接的设备上安装 apk。
对于那些想要在每个 android 设备上 运行 的单个 universal.apk
的人:
brew install bundletool
bundletool build-apks --mode universal --bundle ./app-release.aab --output ./app.apks
mv app.apks app.zip
unzip app.zip
现在,您可以universal.apk
有没有什么方法可以像安装 APK 一样方便地在设备上安装 AAB?
因为安装是通过第三方应用程序或移动公司文件管理器(如应用程序)完成的。
即将推出的文件管理器版本将附带“aab”管理工具。
我在 Playstore 上搜索了“android aab 安装程序”并找到了一个。
故意不命名。
我安装的那个,在线解压包,
但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的 mi [miui] 设备上)。
但是这个应用程序将在线提取的 apk 保存在 phone 内存中,我可以从那里安装它。
记住:
Google 的“文件”应用程序无法安装此 apk
但
我的系统(内置)文件管理器能够。
这对我有用mac。
您需要使用一个名为 bundletool 的工具 如果尚未使用 brew
brew install bundletool
运行 此命令用于提取 apks 文件并将其存储在所需位置
bundletool build-apks --bundle=path/to/app-release.aab --output=/path/to/output/app.apks --local-testing
在已连接的 Android 设备上安装
bundletool install-apks --apks=/path/to/output/app.apks
我已经在此处的要点中记录了完整的命令和输出 https://gist.github.com/maheshmnj/6f5debbfae2b8183d94ca789d081f026