是否可以有一个proguard mappings.txt文件用于多种风格?

时间:2016-01-18 19:47:56

标签: android gradle android-gradle build.gradle

我想将我的应用发布到多个市场。所有市场的版本代码应该是相同的,我的应用程序有IAP所以我应该有多种风味和每种风味一个清单。 而且我还需要崩溃报告的映射文件(例如在tracepot中)。

我的问题是:我怎样才能有一个mappings.txt文件用于多种风格?

的build.gradle:

android {
productFlavors {
    Market1 {
            ...
    }
    Market2 {
            ....
    }
signingConfigs {
    debug {
            ....
    }

    release {
            ....
    }
}
buildTypes {
    debug {
        debuggable true
        signingConfig signingConfigs.debug
    }

    release {
        debuggable false
        signingConfig signingConfigs.release
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }
}

1 个答案:

答案 0 :(得分:2)

是的,build.gradle中的当前设置会将proguard文件应用于所有版本的所有版本构建。你已经在那里了。

在以下评论中与OP对话后更新:

现在我更好地理解了这个问题。您正在尝试使用单个mapping.txt文件而不是proguard-rules.pro。答案是不,你不能为多个生成的apks提供单个文件。 Proguard规则分别应用于每个flavor,每次生成一个单独的映射文件。您的mapping.txt文件现在可能没有任何差异,因为您可能没有使用不同的sourceSets(Java类)。但是,如果您有不同的sourceSets,则mappings.txt文件将不同。可能你现在的味道差异很小,就像不同的同名画笔一样,如果我假设正确的话。