【问题标题】:Getting java.lang.OutOfMemoryError while building Release APK with DexGuard使用 DexGuard 构建发布 APK 时出现 java.lang.OutOfMemoryError
【发布时间】:2021-09-15 08:57:30
【问题描述】:

在使用最新的 dexguard 版本 9.1.13 构建发布 APK 时,我在应用启动时遇到 java.lang.OutOfMemoryError,即 Splash Activity。

java.lang.OutOfMemoryError: 无法分配 574109856 字节分配,938429 空闲字节和 253MB 直到 OOM,目标占用空间 3753717,增长限制 268435456 在 com.paymax.mfs.subscriber._AppController.onCreate(未知来源:131) 在 android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1242) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:7218) 在 android.app.ActivityThread.access$1500(ActivityThread.java:269) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:257) 在 android.app.ActivityThread.main(ActivityThread.java:8218) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)

以下是 build.gradle(app-level) 中的 dexguard 设置

dexguard {
overwriteUnprotected = true
path = 'path\\DexGuard-9.1.13'
license = 'path\\DexGuard-9.1.13\\lib\\dexguard-license.txt'
configurations {
    release {
        defaultConfiguration 'dexguard-release-aggressive.pro'
        configuration 'dexguard-project.txt'
        configuration 'proguard-rules.pro'
        defaultConfiguration 'dexguard-rasp.pro'

    }
}

}

【问题讨论】:

    标签: java android kotlin out-of-memory dexguard


    【解决方案1】:

    经过一番挣扎,我得出结论,这个错误是由于Dex-guard中的Certificate Temper检测功能引起的。我们必须在 Dex-guard 规则中添加 SHA-256 哈希。

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 2017-03-13
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多