【问题标题】:Not able to signed the apk based on buildtypes无法根据 buildtypes 签署 apk
【发布时间】:2019-08-17 12:55:27
【问题描述】:

我们的应用程序支持不同客户端的不同产品风格,因此我们有不同的密钥库文件。我们需要基于 buildtypes 签署构建。 “调试”、“发布”、“生产”。

android {
    buildTypes {
        debug {
            signingConfig null
        }
        release {
            signingConfig null
        }
        production {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard- 
            android.txt'), 'proguard-production.pro'
            applicationIdSuffix ".production"
        }
    }

    signingConfigs {
        A {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('xxxx')
            storePassword 'xxxx'
        }

        B {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('xxxx')
            storePassword 'xxxx'
        }

        C {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('xxxx')
            storePassword 'xxxx'
        }

        D {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('xxxx')
            storePassword 'xxxx'
        }
    }

    productFlavors {
        X {
            if (buildTypes == "production") {
                signingConfig signingConfigs.A
            }
        }
        Y {
            if (buildTypes == "production") {
                signingConfig signingConfigs.B
            }

        }
        Z {

            if (buildTypes == "production") {
                signingConfig signingConfigs.C
            }

        }

    }
}

我们需要像我在代码部分中提到的那样的解决方案。 请帮我解决这个问题陈述。

thank you in advance

【问题讨论】:

标签: android android-gradle-plugin


【解决方案1】:

试试这个可能对你有帮助

signingConfigs {

        Alias1Config {
            keyAlias 'keyAlis1'
            keyPassword '123456789'
            storeFile file('D:/ABS/XYZ/keyAlis1.jks')
            storePassword '1234567989'
        }

        Alias2Config {
            keyAlias 'keyAlis2'
            keyPassword '123456789'
            storeFile file('D:/ABS/XYZ/keyAlis1.jks')
            storePassword '1234567989'
        }

    }

productFlavors {
        aliasV1 {
            applicationId "com.abc.xyz"
            versionCode 1
            versionName "1.0"
            signingConfig signingConfigs.Alias1Config
            setProperty("archivesBaseName", "ABC_APP_$versionName.$versionCode")
        }
        aliasV2 {
            applicationId "com.abc.xyz.pqr"
            versionCode 1
            versionName "1.0"
            signingConfig signingConfigs.Alias2Config
            setProperty("archivesBaseName", "PQR_APP_$versionName.$versionCode")
        }

    }

【讨论】:

  • 嗨 vishrut,感谢您的回答,但它会为所有构建类型(即调试、发布、生产)签署 apk,但我只想签署生产 apk。请推荐我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 2018-02-13
  • 2019-12-07
  • 2016-12-11
相关资源
最近更新 更多