我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?


当前回答

如果你现在使用的是Maui, Visual Studio 2022只创建AAB文件;但是,您可以从命令行创建APK。

更改目录到你的项目所在的位置并运行这个:

dotnet publish -f:net6.0-android -c:Release /p:AndroidSigningKeyPass=blah

其他回答

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

进入编辑配置 选择Deploy下拉菜单,将“Default apk”改为“apk from app bundle”。 应用更改,然后在连接的设备上运行它。进行此更改后,构建时间将增加。

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

使用(在Linux上): cd安卓 。/ gradlew assemblyRelease | assemblyDebug

为每个用例生成一个无符号APK(用于调试或测试)

注意:在Windows上,将gradle可执行文件替换为gradlew.bat

如果你现在使用的是Maui, Visual Studio 2022只创建AAB文件;但是,您可以从命令行创建APK。

更改目录到你的项目所在的位置并运行这个:

dotnet publish -f:net6.0-android -c:Release /p:AndroidSigningKeyPass=blah

Windows 11:

C:\dev\bundletool-all-1.9.1\bundletool.jar build-apks——bundle=app-release。= app-release.aab艺术展——输出。apk——模式=普遍

PS C:/folder-with-aab-file> ren app-release.aabapk app-release.aab.apks.zip

解压zip文件后,apk文件的名称为:universal.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

我已经在这里的gist中记录了完整的命令和输出https://gist.github.com/maheshmnj/6f5debbfae2b8183d94ca789d081f026