Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成发布版本的已签名APK失败,但调试成功。缺课_Java_Android_Android Studio - Fatal编程技术网

Java 生成发布版本的已签名APK失败,但调试成功。缺课

Java 生成发布版本的已签名APK失败,但调试成功。缺课,java,android,android-studio,Java,Android,Android Studio,当我要为我的应用程序生成已签名的APK时,如果我选择调试版本,它会编译得很好,但是当我选择发布版本时,它会在上面 :app:TransformClasseSandreSourcesWithr8用于发布 上面写着 原因:java.lang.OutOfMemoryError:超出GC开销限制 以及 AGPBI:{“种类”:“警告”,“文本”:“缺少类” android.arch.paging.PositionDataSource,“源”:[{}],“工具”:“D8”} 我已尝试添加到build.gr

当我要为我的应用程序生成已签名的APK时,如果我选择调试版本,它会编译得很好,但是当我选择发布版本时,它会在上面

:app:TransformClasseSandreSourcesWithr8用于发布

上面写着

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

以及

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

我已尝试添加到build.gradle(模块)

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

注意:我正在使用MacOS,如果这可能与它有任何关系的话

Proguard(如果我没有弄错的话,在发布版本中默认是打开的)应该非常小心地使用

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

更多信息请点击此处:


祝你好运

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

这听起来好像是因为调试版本和发布版本之间有什么不同?前卫?编译和构建过程中是否有可能与反射有关的问题?@FunkSoulBrother我已确定这与proguard有关,如果我删除“proguardFiles'proguard.cfg'”行,则发布版本可能与使用r8的gradle 3.4.0有关谢谢!我想现在它使用了r8,有些事情肯定已经改变了,我可能只需要阅读更多关于这个主题的内容
dexOptions{
    javaMaxHeapSize "8g"
}