我使用新的Android App Bundle格式构建我的项目。通过APK文件,我可以将APK下载到我的设备上,打开它,并立即安装应用程序。aab格式),我的Nexus 5X运行Android 8.1无法打开该文件。有没有什么方法可以像apk一样方便地在设备上安装aab ?
当前回答
如果你想在不使用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开始正确反射之前会有一到两分钟的延迟。否则,你可以做一个干净的重建,然后运行应用程序。
当你这次运行应用程序时,它将以发布模式安装在目标设备上。 你可能需要一种方法来识别已安装应用程序的构建变体。你可以在应用程序的某个地方显示构建名称和变体。或者如果你有一个按钮,只在调试模式下显示,你可以检查。
其他回答
如果您想从您的aab安装apk到您的设备进行测试,那么您需要在连接的设备上运行它之前编辑配置。
进入编辑配置 选择Deploy下拉菜单,将“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
MAC:
brew install bundletool
bundletool build-apks --bundle=app-release.aab --output=app-release.apks
bundletool install-apks --apks=app-release.apks
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
有没有什么方法可以像apk一样方便地在设备上安装aab ?
因为安装是由第三方应用程序或移动公司文件管理器像应用程序。 接下来的文件管理器版本将附带“aab”管理工具。
我在playstore上搜索了“android aab安装程序”,找到了一个。 故意不给它命名。 我安装的那个,在线解压的那个, 但在那之后,这个应用程序无法自行安装这个提取的应用程序(在我的mi [miui]设备上)。 但是这个应用程序将在线提取的apk保存在手机内存中,从那里我可以安装它。 记住: 谷歌的“文件”应用程序无法安装这个apk但是我的系统(内置)文件管理器能够安装。
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 如何在NestedScrollView内使用RecyclerView ?
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE
- 如何更改android操作栏的标题和图标
- Android Split字符串
- 让一个链接在安卓浏览器启动我的应用程序?
- 如何在Android工作室的外部库中添加一个jar ?
- GridLayout(不是GridView)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?