构建签名的发行版APK失败,但调试成功。缺课

时间:2019-05-06 15:53:04

标签: java android android-studio

如果要为我的应用程序构建签名的APK(如果我选择调试版本),它可以正常编译,但是当我选择发布版本时,它位于

  

:app:transformClassesAndResourcesWithR8ForRelease

它说

  

原因:java.lang.OutOfMemoryError:超出了GC开销限制

以及

  

AGPBI:{“种类”:“警告”,“文本”:“缺少类   android.arch.paging.PositionalDataSource“,”源“:[{}],”工具“:” D8“}

我尝试添加到我的build.gradle(module)

dexOptions{
    javaMaxHeapSize "8g"
}

以及在proguard.cfg中添加一些忽略的内容

注意:如果这与MacOS有关,我正在使用MacOS

2 个答案:

答案 0 :(得分:0)

应该非常小心地使用Proguard(如果没有记错的话,默认情况下会在发布版本中将其打开)。

任何使用反射的代码如果混淆都可能会停止工作,因此,如果您确实想使用Proguard,则需要确定哪些类将与反射一起使用并排除它们(保持原样)。

更多信息在这里:https://www.guardsquare.com/en/products/proguard/manual/examples

祝你好运。

答案 1 :(得分:0)

我在相同的堆栈跟踪中遇到了相同的问题。就我而言,有失踪者 gradle.propertis文件中的org.gradle.jvmargs=-Xms512M -Xmx4g -XX:MaxPermSize=1024m -XX:MaxMetaspaceSize=1g -Dkotlin.daemon.jvm.options="-Xmx1g"配置。