打包报错Errors while building APK. You can find the errors in the 'Messages' view 问题解决

本来今天想打个包(之前也没事 )做一下加固功能,遇见这样一个问题
在这里插入图片描述
网上有一些博客,需要defaultConfig下添加multiDexEnabled true,这句话是干什么用的呢,就是分包,为什么需要分包呢,因为工程的方法数超过了64k,详见另外一篇文章Android工程方法数超过64K。这就说明我是有这句话的,而且看看报错异常中确实有multi的字样。而这个确实也是后来转为Android Studio后加的,所以基本问题就定位到这里了。
所以去掉了这个分包功能(我知道去掉肯定会无法运行,只是想看看打包apk的时候会不会报这个error),事实证明,直接提示方法数超过64k,编译不过,我尴尬了。

去看了看添加的gradle配置 已经有了丫
defaultConfig {

multiDexEnabled true
}
在这里插入图片描述

我又一次重新打包试试
出现新问题了
在这里插入图片描述
俗话说出现问题是好事,就怕 不出现问题就不好搞了

哎,仔细看看异常。 注意到了这句话

Error:java.lang.OutOfMemoryError: GC overhead limit exceeded

妈呀 OOM 内存泄露了,说明程序的内存不够出现问题,或者系统给程序分配的内存太低。
然后 我就一顿百度

dexOptions {
    javaMaxHeapSize "4g"
}

啥意思呢 又是一顿百度丫
指定的最大大小,以字节为单位的内存分配池。该值必须是1024的倍数大于2MB。追加字母k或K来表示千字节,m或M来表示兆字节。默认值是根据系统配置选择在运行时。

加上
打包报错Errors while building APK. You can find the errors in the 'Messages' view 问题解决_第1张图片
那就在打包试试吧
打包报错Errors while building APK. You can find the errors in the 'Messages' view 问题解决_第2张图片
OK 成了

我的另一篇文章
Android 创建证书 或加固后更新签名

你可能感兴趣的:(记录问题)