Android打包为aab教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android打包为aab教程相关的知识,希望对你有一定的参考价值。

参考技术A 如题,如何把安卓项目打包成aab并且安装到手机上。
首先,把问题拆分为两步:
(1)把项目导出aab
(2)aab安装到手机
实操前需要准备的环境:
AndroidStudio
BuildTool
妙速绿色上网软件开通
发车:

选择androidstudio工具栏build,然后选择generate singed bundle apk

然后选择第一项

点击next

填写好信息后,再点击next

点击finish即可开始打包。
最后打包完成,会生成一个xxx.aab的文件,如下图:

这里演示的是win10系统配置adb环境,配置结果如下图,蓝色背景文字为adb的目录

至此,adb配置完成。

操作指令如下:

cmd窗口命令图片:

目录图片:

Android AAB打包报错(持续更新中~)

前言

今天在打包aab的时候遇到一些神奇的问题,话不多说,看问题

jarsigner.exefailed with exit code 1

开发环境

  • Android Studio:4.2.0

  • Gradle插件版本:3.2.1

  • Gradle所需版本:4.8.1

直接跑debug包没问题,打APK包也正常,问题来了打aab包就报错:

Cause: jarsigner.exefailed with exit code 1 :
����: �Ҳ������޷��������� sun.security.tools.jarsigner.Main

「Build output乱码问题后面讲到」,咱一个个解决,先看打包问题

解决方案

  • 升级Gradle插件版本:4.2.0

  • 升级Gradle所需版本:6.7.1

aab打包正常,问题解决。

查阅官方文档仅要求:「Android Studio 3.2 或更高版本」。还没搞懂,「有知道的大佬辛苦帮忙解答一下。」

Execution failed for task ':app:transformClassesWithDexBuilderForRelease'.

这个问题很直观,可能是gradle问题,咱们尝试解决一下。

开发环境

  • Android Studio:4.2.0

  • Gradle插件版本:3.2.1

  • Gradle所需版本:4.8.1

这次跑debug包都不行

解决方案

  • 1、对照Gradle插件版本和Gradle所需版本是否一致

  • 2、升级Gradle插件版本和Gradle所需版本

因为这个问题解决所以借鉴解决方案2,解决了Cause: jarsigner.exefailed with exit code 1 的问题

可参考:Gradle插件对应的Gradle所需版本

Cause: failed to decrypt safe contents entry: java.io.IOException: getSecretKey failed: Password is not ASCII

jks密码错误,打包时重新输入一下即可。

本文用于记录「aab打包错误」。持续更新中~

This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.

在gradle.properties新增:

android.useAndroidX=true
android.enableJetifier=true

Build output乱码

运行环境:Android Studio版本4.2.0

方法一

  • 1.点击help,选择Edit Custom VM Options,点击Create

  • 2.打开后输入 「-Dfile.encoding=UTF-8」(前面不要有空格,否则AS打不开),重启Android Studio(FIle选择 Invalidate cache/restart)即可。

方法二

在方案一 -Dfile.encoding=UTF-8 的基础上增加 -Dconsole.encoding=UTF-8

方法三

找到Android Studio安装目录的bin文件夹下的studio64.exe.vmoptions
添加 -Dfile.encoding=UTF-8 (前面不要有空格,否则AS打不开)

方法四

在app/build.gradle中的android节点下添加如下代码:

android {
    android {
        //解决build output输出乱码的问题
        compileOptions.encoding = "UTF-8"
    }
}

方法五

        上面的方案解决了大部分人的问题,但是我的就是不行,任性,有厉害的大佬麻烦指点一下。谢啦。

相关推荐

Android aab打包

App Bundle介绍

打包AAB+PAD(java篇)

以上是关于Android打包为aab教程的主要内容,如果未能解决你的问题,请参考以下文章

Android AAB打包报错(持续更新中~)

Android AAB打包报错(持续更新中~)

Android aab打包

Android AAB+PAD打包(java篇)

Android 打包AAB+PAD(java篇)

Android 打包AAB+PAD(Unity篇)