安卓多渠道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会插入默认签名,替换掉渠道的签名。

相关推荐
fundroid2 小时前
Android Studio + Gemini:重塑安卓 AI 开发新范式
android·android studio·ai编程
vortex52 小时前
谷歌黑客语法挖掘 SQL 注入漏洞
android·数据库·sql
-指短琴长-6 小时前
MySQL快速入门——基本查询(下)
android·mysql·adb
stevenzqzq7 小时前
android lambda回调
android
林北北的霸霸9 小时前
django初识与安装
android·mysql·adb
Java 码农11 小时前
MySQL EXPLAIN 详解与优化指南
android·mysql·adb
stevenzqzq15 小时前
Android Hilt 入门教程_传统写法和Hilt写法的比较
android
wuwu_q15 小时前
用通俗易懂方式,详细讲讲 Kotlin Flow 中的 map 操作符
android·开发语言·kotlin
_李小白16 小时前
【Android FrameWork】第五天:init加载RC文件
android
2501_9160074716 小时前
手机使用过的痕迹能查到吗?完整查询指南与步骤
android·ios·智能手机·小程序·uni-app·iphone·webview