崩溃符号上传失败,"GC overhead limit exceeded"



我一直在拼命地尝试将我的游戏符号上传到crashlytics(gradlew uploadCrashlyticsSymbolFileRelease(,但一直失败:

GC overhead limit exceeded

我已经尝试过什么了...我确保我的恶魔有很多记忆可以玩:

-XX:MaxHeapSize=32g,-XX:MaxPermSize=4096m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx4g

同样在build.gradle上:

dexOptions {
maxProcessCount 2
javaMaxHeapSize "16g"
}

运行带有调试和调用堆栈的 uploadCrashlyticsSymbolFileRelease 显示:

[org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
[org.gradle.process.internal.health.memory.MemoryManager] Emitting OS memory status event {Total: 17101328384, Free: 1893560320}
[org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded

我还删除了gradle注册表文件夹,但到目前为止没有任何效果。 周一联系了Firebase支持人员,但也没有收到回复。

我使用以下版本:

implementation 'com.google.firebase:firebase-analytics:17.4.1'
implementation 'com.google.firebase:firebase-crashlytics-ndk:17.0.0'

这在我拥有的另一款游戏中完美运行。

毫无疑问,这是Firebase的一个已知问题。建议我将 gradle 插件降级到 1.27.0 版,但我仍然遇到问题。

我一直在尝试降级,但不再有关于如何正确设置 1.27 版本的文档。而且我的游戏使用 1.27 的新版本不会向控制台发送任何崩溃信息。

这就是我所做的。在根构建上包含

classpath 'io.fabric.tools:gradle:1.27.0'

然后在应用程序上构建.gradle...

在顶部:

io.fabric.tools:gradle:1.27.0

在安卓标签内:

crashlytics {
    enableNdk true
    androidNdkOut ...    androidNdkLibsOut .....
}

在依赖项上:  

implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1'

在 Java 上,在 onCreate 事件中包含以下内容:

Fabric.with(this, new Crashlytics(), new CrashlyticsNdk());

随着进口:

import io.fabric.sdk.android.Fabric;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.ndk.CrashlyticsNdk;

我错过了什么?

相关内容

最新更新