当前位置: 首页 > 知识库问答 >
问题:

Android上不同键的Gradle签名口味

卫建义
2023-03-14
    null

我尝试过的相关帖子:

从单个生成类型生成使用不同密钥签名的多个生成

  • 这需要为每种口味配置
  • 它似乎没有使用我自定义的signingconfig
    null
    null

我的build.gradle的重要部分如下所示:

signingConfigs {
    releaseConfig {
        storeFile file('key')
        storePassword "pass"
        keyAlias "alias"
        keyPassword "pass"
    }

    custom {
        storeFile file('custom_key')
        storePassword "pass"
        keyAlias "alias"
        keyPassword "pass"
    }
}

productFlavors {
    apple {
        applicationId "demo.apple"
    }
    banana {
        applicationId "demo.banana"
    }

    // def customConfig = signingConfigs.custom
    custom {
        applicationId "custom.signed.app"
        // signingConfig customConfig
    }
 }


buildTypes {
    debug {
        applicationIdSuffix ".debug"
    }
    release {
         signingConfig signingConfigs.releaseConfig
         // productFlavors.custom.signingConfig signingConfigs.custom
    }
}

共有1个答案

鲁鹤轩
2023-03-14

Gradle插件用户指南说你可以:

通过分别设置每个android.productflavors.*.signingconfig对象,让每个发布包使用它们自己的signingconfig

这个答案(Gradle产品口味上的调试签名配置)和这篇博客文章(用Gradle构建一个Android应用程序的多个版本)都演示了这一点。

诀窍来自这个答案(如何在Gradle中获得当前选择的构建变体?)它展示了如何循环构建变体(扩展为风味)。

我的解决方案使用一个循环来设置每个风味的signingconfig,而不是为其设置单独的行。这个比例非常好。“重写”是通过在循环之后指定自定义配置的一行来完成的。

将以下代码放置在buildtypes.release块中:

// loop over all flavors to set default signing config
productFlavors.all { flavor ->
    flavor.signingConfig signingConfigs.releaseConfig
}
// override default for single custom flavor
productFlavors.custom.signingConfig signingConfigs.custom
 类似资料:
  • 我正在开发一个使用以下依赖项的Android项目: 但是,此依赖项有2个模块javax/注入的定义,如gradle依赖项树中所示: 当尝试运行Android应用程序时,我收到错误: 我尝试排除这些模块中的任何一个,但这不起作用,因为依赖项依赖于它们来进行方法调用。 有没有其他解决方案来解决这一冲突?

  • 我想用PHP实现一个XML数字签名。我正在这个验证器上测试签名的正确性。 我得到了错误的签名值,所以我要一步一步地解释我在做什么,请纠正我做错了什么。 我要签名的XML(无新行): 首先,我规范化XML,然后使用sha256对其进行散列,从而生成正确的摘要值。 第二,创建SignedInfo XML元素并规范化它(无新行): 最后,使用RSA-SHA256对SignedInfo元素进行签名。这是产

  • 为了在我们的JUnit测试中使用H2数据库而不是调用Oracle,我被阻止在H2上创建别名以模拟一些Oracle兼容性: > 我首先为日期到字符的转换声明了to_char的别名:可以

  • 作为Android Studio 2.2推出的一部分,我将Gradle Build工具更新到v2.2。在此之后,我的签名APK构建过程失败,因为我有收缩资源=true。 一旦我切换回Gradle v2.1.3或设置收缩资源=假,一切都很好。这是我的应用程序gradle构建文件: Gradle设置为v2.2,这是我在生成签名APK时遇到的构建错误。 有人知道为什么会发生这种情况吗?如果有解决办法的话

  • 当我运行我的项目时,出现“系统找不到指定的路径”错误。我最近也做了系统还原 从渐变同步刷新渐变“游戏”项目失败

  • 我一直在努力解决RSA_verify的一个奇怪问题。我正在尝试使用C进行RSA签名,并使用C进行RSA验证。我已经使用OpenSSL命令生成了私钥和证书。 当我使用上面的消息,生成一个散列并使用RSA\u-sign对摘要进行签名时,我得到长度为256的签名(),并且RSA\u-sign返回的长度为256。我使用此长度进行验证,验证成功。 但是当我使用时,签名长度为60,RSA\u-sign返回25