De obfuscation不适用于android studio 3.0

时间:2017-11-21 10:00:35

标签: android android-studio gradle proguard

我的代码使用proguard进行模糊处理,该版本在构建发布版本时运行,在播放控制台中发布APK时,我将mapping.txt文件上传到“Vitals”部分。

当异常提升时,我可以在stacktraces中读取清晰的代码(在崩溃分析和Play控制台中)。

以前版本的Android studio(< = 2.3.3)都可以正常运行,现在升级到Android studio 3.0之后,同样的过程将不再混淆堆栈跟踪。

我遇到了gradle插件的迁移,引入了所需的修改

build.gradle(app):

    flavorDimensions "mode"
        productFlavors {
        full {
        dimension "mode"
        }
    }
    ...
    buildTypes {
    release {
        multiDexEnabled true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.config
    }
    debug {
        ext.enableCrashlytics = false
        versionNameSuffix "-DEBUG"
        }
    }

配置有什么问题? mapping.txt文件已被Play控制台正确上传和接受。 任何提示?

1 个答案:

答案 0 :(得分:-2)

它是android中的新功能,当您上传映射文件时,它会对您的代码进行反混淆处理,以便您可以了解堆栈跟踪。这是documentation链接,它说:

  

如果您使用ProGuard优化和混淆您的APK文件,则可以   为您的应用程序的每个版本上传ProGuard映射文件   Play控制台可以对您的崩溃堆栈跟踪进行反混淆处理并为您提供帮助   更好地分析您应用的崩溃。