安卓多渠道apk配置不同签名

一般签名都是放在buildTypes里面:

groovy 复制代码
...
android {
    ...
    defaultConfig {...}
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}

但是多渠道时,使用配置的优先级从高到低分别是buildTypes、productFlavor、defaultConfig,如果按上面配置的话,根本修改不了签名。所以修改成以下:

groovy 复制代码
android {
    ...
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
        demo {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    defaultConfig {
        signingConfig signingConfigs.release //默认签名
    }
    buildTypes {
        debug{
            signingConfig null //这里一定要置null,否则gralde会插入默认签名
        }
        release{...}
    }
    // Specifies one flavor dimension.
    flavorDimensions "version"
    productFlavors {
        demo {
            dimension "version"
            applicationIdSuffix ".demo"
            versionNameSuffix "-demo"
            signingConfig signingConfigs.demo //渠道签名
        }
        full {
            dimension "version"
            applicationIdSuffix ".full"
            versionNameSuffix "-full"
        }
    }
}

按上面配置完后,渠道可以按照自己需求替换签名了。特别注意debug类型那里要置signingConfig null,否则编译debug版本时签名会不生效,因为gradle会插入默认签名,替换掉渠道的签名。

相关推荐
sun0077001 分钟前
Android 默认的日志记录方式
android
瓦特what?10 分钟前
C++编程防坑指南(小说版)
android·c++·kotlin
独处东汉1 小时前
freertos开发空气检测仪之输入子系统按键驱动测试
android·java·数据库
m0_748229991 小时前
Laravel3.x:回顾经典框架的早期特性
android
阿俊-全栈开发1 小时前
CRMEB 单商户对接汇付支付完整实现
android
weixin_440784112 小时前
OkHttp使用指南
android·java·okhttp
Xxtaoaooo2 小时前
React Native 跨平台鸿蒙开发实战:调试与真机测试全流程
android·react native·harmonyos
TheNextByte12 小时前
将视频从电脑传输到Android (超简单指南)
android·电脑·音视频
TheNextByte12 小时前
如何将照片从Android手机传输到Chromebook电脑
android·智能手机·电脑
程序员清洒11 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为