我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?
当前回答
对于那些想要在所有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
其他回答
如果你想在不使用PLAY STORE的情况下安装应用程序包,你需要将你的构建变体改为在Android工作室“发布”。
如果你不能自己开发应用程序,但有一个发布包,那么请参考最流行的答案。
去Android Studio > Build >选择Build Variant..
一旦您这样做,您的构建配置可能开始显示错误。 这是因为您现在还需要在这个配置中提供签名细节(这引用了来自build.gradle的签名细节)。
您可以编辑配置,然后点击底部的Fix按钮,它会要求您填写签名详细信息。
或者你可以编辑build.gradle 确保您提供了buildTypes{}和signingconfigurations {}
android {
signingConfigs {
release {
storeFile file('<Your PATH>\\keystore.jks')
storePassword 'XXXXX
keyAlias 'XXXXX'
keyPassword 'xxxxx'
}
debug {
storeFile file('<Your PATH>\\keystore.jks')
storePassword 'XXXXX
keyAlias 'XXXXX'
keyPassword 'xxxxx'
}
}
compileSdkVersion 32
defaultConfig {
....
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug
{
signingConfig signingConfigs.debug
}
}
...
}
dependencies {
...
}
在Android Studio开始正确反射之前会有一到两分钟的延迟。否则,你可以做一个干净的重建,然后运行应用程序。
当你这次运行应用程序时,它将以发布模式安装在目标设备上。 你可能需要一种方法来识别已安装应用程序的构建变体。你可以在应用程序的某个地方显示构建名称和变体。或者如果你有一个按钮,只在调试模式下显示,你可以检查。
简短的回答:
不直接。
再答:
Android应用程序捆绑是谷歌Play Store上应用程序的默认发布格式。但Android设备需要.apk文件来安装应用程序。
Play Store或你正在安装的任何其他源将从包中提取apks,签名每个apks,然后将它们安装到特定的目标设备。
从。aab到。apk的转换是通过bundletool完成的。
你可以使用内部应用程序共享将应用程序的可调试构建上传到Play Store,并与测试人员共享。
如果你现在使用的是Maui, Visual Studio 2022只创建AAB文件;但是,您可以从命令行创建APK。
更改目录到你的项目所在的位置并运行这个:
dotnet publish -f:net6.0-android -c:Release /p:AndroidSigningKeyPass=blah
直接从设备上安装aab,我找不到办法。
但是有一种方法可以通过命令行安装它,使用以下文档
根据“@Albert Vila Calvo”的评论,他指出要使用HomeBrew安装捆绑工具,请使用brew install bundletool
您现在可以从aab文件中安装extract apks并将其安装到设备中
通过下一个命令提取apk文件
Java -jar bundletool-all-0.3.3.jar build-apks——bundle=bundle。艺术展——输出=应用。apk, ks = my-release-key。密钥库——ks-key-alias=别名——ks-pass=pass:密码
参数:
——bundle -> Android bundle .aab文件 ——output ->生成的apk文件的目标和文件名 ——ks ->用于生成Android Bundle的Keystore文件 ——ks-key-alias -> keystore文件的别名 ——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文件
有没有什么方法可以像apk一样方便地在设备上安装aab ?
因为安装是由第三方应用程序或移动公司文件管理器像应用程序。 接下来的文件管理器版本将附带“aab”管理工具。
我在playstore上搜索了“android aab安装程序”,找到了一个。 故意不给它命名。 我安装的那个,在线解压的那个, 但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的mi [miui]设备上)。 但是这个应用程序将在线提取的apk保存在手机内存中,从那里我可以安装它。 记住: 谷歌的“文件”应用程序无法安装这个apk但是我的系统(内置)文件管理器能够安装。
推荐文章
- 我如何处理ImeOptions的完成按钮点击?
- 模块是用不兼容的Kotlin版本编译的。其元数据的二进制版本为1.5.1,预期版本为1.1.15
- 如何在Android工作室添加“libs”文件夹?
- 使用什么api来绘制其他应用程序(如Facebook的Chat Heads)?
- getDefaultSharedPreferences和getSharedPreferences的区别
- 如何模拟按钮点击使用代码?
- Android Webview给出net::ERR_CACHE_MISS消息
- Parcelable遇到IOException写入序列化对象getactivity()
- 如何在Android中动态更改菜单项文本
- 如何将Base64字符串转换为位图图像,以显示在一个ImageView?
- 新版本的Android模拟器问题-模拟器进程已终止
- 没有与请求版本匹配的NDK版本
- 如何将一个颜色整数转换为十六进制字符串在Android?
- 格式浮动到小数点后n位
- 移除一个onclick监听器