代码之家  ›  专栏  ›  技术社区  ›  amithgc

proguard+crashlytics崩溃

  •  0
  • amithgc  · 技术社区  · 8 年前

    我已经在我的项目中集成了Crashlytics,现在当我启用proguard时,应用程序崩溃。试图将所有课程从crashlytics中排除,但没有成功

    文件程序规则。pro文件包含以下内容

    -keep class io.fabric.sdk.android.** { *; }
    -keep interface io.fabric.sdk.android.** { *; }
    -keep class com.digits.sdk.android.core.** { *; }
    -keep interface com.digits.sdk.android.core.** { *; }
    -keep class com.twitter.sdk.android.** { *; }
    -keep interface com.twitter.sdk.android.** { *; }
    
    -keep class io.fabric.** { *; }
    -keep interface io.fabric.** { *; }
    -keep class com.digits.** { *; }
    -keep interface com.digits.** { *; }
    -keep class com.twitter.** { *; }
    -keep interface com.twitter.** { *; }
    -keep class com.crashlytics.** { *; }
    -keep interface com.crashlytics.** { *; }
    -keep class com.crashlytics.** { *; }
    -dontwarn com.crashlytics.**
    

    我得到一个错误

    com.example.app E/Answers: Failed to submit events task
        java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@1d060ef0 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@31c1ac69[Shutting down, pool size = 1, active threads = 0, queued tasks = 1, completed tasks = 9]
            at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011)
            at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793)
            at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:298)
            at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:503)
            at java.util.concurrent.ScheduledThreadPoolExecutor.submit(ScheduledThreadPoolExecutor.java:602)
            at java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:593)
            at com.crashlytics.android.answers.AnswersEventsHandler.executeAsync(Unknown Source)
            at com.crashlytics.android.answers.AnswersEventsHandler.processEvent(Unknown Source)
    

    我还查看了crashlytics文档,并尝试了各种可能的组合。 有人能在这方面指导我吗

    1 回复  |  直到 8 年前
        1
  •  2
  •   a_m    8 年前

    来自他们的 documentation -

    首先,Fabric在内部使用注释,因此添加以下内容 配置文件的行:

    -keepattributes *Annotation*
    

    接下来,为了提供最有意义的碰撞报告,添加 配置文件的以下行:

    -keepattributes SourceFile,LineNumberTable
    

    如果使用自定义异常,请添加此行,以便自定义 模糊处理期间跳过异常类型:

    -keep public class * extends java.lang.Exception