Crashlytics不会对代码进行反混淆处理

Hos*_*pes 7 android gradle crashlytics twitter-fabric

我有Frabric(Crashlytics)服务的神秘问题.
我发现crashlytics不会自动对崩溃日志进行去模糊处理.

顶级构建文件中的io.fabric.tools版本1.19.1和android.tools版本1.2.3:

dependencies {
    classpath 'com.android.tools.build:gradle:1.2.3'
    classpath 'io.fabric.tools:gradle:1.19.1'
}
Run Code Online (Sandbox Code Playgroud)

BuildTypes配置:

buildTypes {
    debug{
        debuggable true
        jniDebuggable true
    }
    release {
        debuggable false
        jniDebuggable false
        minifyEnabled true
        proguardFiles 'proguard-coda.txt', 'proguard-rules.pro'
    }
}
Run Code Online (Sandbox Code Playgroud)

和依赖:

compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
    transitive = true
}
Run Code Online (Sandbox Code Playgroud)

proguard配置文件包含:

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
Run Code Online (Sandbox Code Playgroud)

从gradle控制台我看到与crashlytics相关的任务是可以的,:app:crashlyticsStoreDeobsRelease并且:app:crashlyticsUploadDeobsRelease:

Executing tasks: [:app:assembleRelease]

Configuration on demand is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE
...............................
:app:fabricGenerateResourcesRelease
:app:processReleaseResources
:app:generateReleaseSources
:app:processReleaseJavaRes UP-TO-DATE
:app:compileReleaseJava UP-TO-DATE
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources UP-TO-DATE
:app:collectReleaseMultiDexComponents UP-TO-DATE
:app:proguardRelease UP-TO-DATE
:app:shrinkReleaseMultiDexComponents UP-TO-DATE
:app:createReleaseMainDexClassList UP-TO-DATE
:app:retraceReleaseMainDexClassList UP-TO-DATE
:app:dexRelease UP-TO-DATE
:app:crashlyticsStoreDeobsRelease           <=====
:app:crashlyticsUploadDeobsRelease          <=====
:app:lintVitalRelease
:app:validateExternalOverrideSigning
:app:packageRelease
:app:zipalignRelease
:app:assembleRelease

BUILD SUCCESSFUL

Total time: 11.569 secs
Run Code Online (Sandbox Code Playgroud)

但是崩溃日志仍然没有被去混淆.

Caused by: java.lang.RuntimeException: Test exception!!!
       at coda.RootActivity.onCreate(SourceFile:189)     <====
       at android.app.Activity.performCreate(Activity.java:5990)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

Voj*_*zel 1

我检查了我们的一个项目,我们没有在 proguard 配置中使用这一行,并且它工作正常

-renamesourcefileattribute SourceFile
Run Code Online (Sandbox Code Playgroud)