有没有办法根据所选的productFlavor更改gradle变量值?

2023-12-14

下面是我的 gradle 示例: 我想根据所选的产品风味动态更改 STORE_FILE_PATH 值。目前 STORE_FILE_PATH 总是用最后定义的 ProductFlavor 覆盖它的值。 (就我而言,它总是变成“/pro.jks”)

帮我找到解决方案。谢谢

def STORE_FILE_PATH = "";

android {
    productFlavors {
        free {

            versionCode 1
            versionName "1.0.0"

            applicationId "com.example.free"

            buildConfigField "boolean", "IS_AD_ENABLED", "true"
            STORE_FILE_PATH = "/free.jks"

        }


        pro {

            versionCode 1
            versionName "1.0.0 pro"

            applicationId "com.example.pro"

            buildConfigField "boolean", "IS_AD_ENABLED", "false"

            STORE_FILE_PATH = "/pro.jks"
        }

    }

    signingConfigs {
        signingConfig {
            keyAlias 'aa'
            keyPassword '123'
            storeFile file (STORE_FILE_PATH)
            storePassword '123'
        }
    }
}

您应该定义多个signingConfig并在不同的productFlavors中使用它

signingConfigs{
   freeKey{}
   proKey{}
}

productFlavors {
    free {

        versionCode 1
        versionName "1.0.0"

        applicationId "com.example.free"

        buildConfigField "boolean", "IS_AD_ENABLED", "true"
        signingConfig signingConfigs.freeKey
    }


    pro {

        versionCode 1
        versionName "1.0.0 pro"

        applicationId "com.example.pro"

        buildConfigField "boolean", "IS_AD_ENABLED", "false"

        signingConfig signingConfigs.proKey
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法根据所选的productFlavor更改gradle变量值? 的相关文章

  • Android 已弃用屏幕尺寸?

    嘿 我需要在我的应用程序中获取屏幕的宽度 该应用程序将在 2 1 及更高版本上运行 我已经将其设置为如下所示 该方法已被弃用 我可能应该使用 getSize 或其他方式 但问题是 这是否适用于 3 0 和 4 0 等 Android 版本
  • Android 6 getAccountName() 缺少 android.permission.GET_ACCOUNTS

    在 Android 6 设备上运行时出现以下异常 java lang SecurityException Missing android permission GET ACCOUNTS 这看起来像是一个相当简单的例外 但对我来说并非如此 我
  • Android SSL 无对等证书

    我有一个例外 没有同行证书 当我询问谷歌时 我得到了解决方案 我信任所有证书 但这个问题的答案是 它是不安全的 所以我给班级打电话 HostnameVerifier hostnameVerifier org apache http conn
  • 横向模式下的 OnApplyWindowInsetsListener 用于检测键盘可见性变化

    感谢这里的这个很好的答案 https stackoverflow com a 63595830 741795 https stackoverflow com a 63595830 741795我们现在可以跟踪 Android 中何时显示键盘
  • Orientation改变时如何处理Activity?

    我正在编写一个活动 它从服务器加载数据并使用 ArrayAdapter 将其显示为列表 为此 我显示了一个进度对话框 即加载 同时它从服务器加载所有数据 然后我在处理程序中关闭该对话框 我的问题是 当我更改方向时 会再次显示进度对话框 这是
  • 如何在datepickerdialog android中选择年份?

    我是 Android 编程新手 请帮忙 我正在使用创建材料设计的片段DatePickerDialog点击EditText 问题是它设置为当前日期 由我设置 但是 如果用户必须选择过去的日期 比如说 10 年前 用户必须每月滚动 这是痛苦的
  • 在 Android 中绘制一条带有弯曲边缘的线

    I am using canvas drawLine to draw some line in android but the lines are too sharp but i need a curved edges 这里的 1 是我所拥
  • 我应该保留远程数据库的本地副本吗?

    我正在开发一个应用程序 基本上允许人们创建 加入和管理其他人的群组 群组内的人也可以互相发送消息 我一直在想哪条路会更好 保留包含所有信息的远程数据库 包括发送给用户和从用户发送的消息 并让应用程序在每次需要信息时查询服务器 甚至是它以前见
  • 无法在 Android 模拟器上使用 ART

    我只是想在我的模拟器上尝试 android 4 4 的 ART 我所做的是创建一个模拟器 选择设备为 Nexus 7 目标为 Android 4 4 RAM 512 然后我启动模拟器并加载它 然后我进入开发者选项并选择运行时作为 ART 设
  • 我应该将 onClickListener 放在自定义 ListView 的哪里?

    我正在定制ListView包含 a 的行数CheckBox and a TextView 在我使用自定义之前ListViews使用 SimpleCursorAdapter 我的onListItemClick 工作得很好 我读过我必须添加一个
  • 从 DecorView@2da7146[MyActivity] 中找不到 ViewTreeLifecycleOwner

    从撰写更新后alpha 11 to alpha 12 or beta 01 每当我打开具有撰写视图的活动或片段时 我都会遇到此崩溃 我在用AppCompatActivity它实现了LifecycleOwner 所以这非常奇怪 java la
  • Google Games API 需要 games_lite 函数

    我使用 Google Play 游戏服务 我从官方示例中获取了代码 尝试使用 API 27 和 API 17 所有功能仅在一个帐户 所有者 Google 开发者控制台 下有效 在任何其他帐户下均有效 不行 我明白了 E AndroidRun
  • 如何将txt文件添加到你的android项目中? [复制]

    这个问题在这里已经有答案了 我的Android studio版本是1 5 1 显然这个 never 版本没有 txt 文件的 asset 文件夹 您打算如何将这些文件包含到您的项目中 以及如何进一步使用您内部的应用程序 谢谢你的建议 Pro
  • 使用 firebase 按最新消息对聊天列表进行排序

    我不知道为什么我陷入了一个问题chatList不按最后一条消息时间或最新消息排序 我尝试过存储timestamp在数据库中和订单子依据时间戳 但它仍然不起作用 不起作用意味着列表不会在每条消息后排序 并继续将列表显示为在第一条消息后排序 看
  • Android React-Native 中 MainActivity 不存在错误

    所以我收到 MainActivity 不存在错误 这可能是因为我将包和应用程序重命名为bomber to Bomber并将 appId 更改为com bomber to cool bomber android 我检查了 AndroidMan
  • 在Android中绘制圆角矩形

    我已经发现这个问题 https stackoverflow com questions 5618402 how to draw rounded rectangle in android ui解决方案是这段代码
  • 如何在Android data/data/project文件系统中创建文件目录和文件夹

    我正在开发一个视频编辑器程序 并且对 android 和 java 相当陌生 我希望发生的是 当用户按下 创建新项目 按钮时 会弹出一个对话框 询问用户项目的名称 我已经把那部分写下来了 但是我想要的是 当用户在该对话框上按 确定 时 我的
  • 将 espresso 与自定义 EditText 结合使用

    这是我的布局的一部分
  • 如何从耳机插孔获取电力?

    我的问题是是否有人知道如何创建一个可以通过设备的耳机插孔发送电荷的 Android 应用程序 就像这个视频中那样 该视频展示了一款 iPhone 应用程序 可控制插入耳机插孔的 LED 我想知道如何访问该设备来发送电信号 抱歉我的英语不是我
  • 如何为 Android Q 打开具有特定专辑或文件夹的默认图库应用程序?

    我尝试打开图库中的特定文件夹 如下代码所示 但它对我不起作用 并且出现错误无法找到物品 fun openDirectoryInGallery context Context directory String val intent Inten

随机推荐

  • Kendo Grid:与 Angular 一起使用时如何从组合框单元模板中获取所选项目

    我有一个在 Angular 中使用的 Kendo 网格 并且有一个带有组合框的字段 该字段将编辑器设置为以下功能 function comboCellTemplate container options var input
  • 回显所有回文,C 语言

    我喜欢 Brian Kernighan 和 Rob Pike 的书 UNIX 编程环境 中提出的想法 他们重点关注在可以在命令行上组合许多 小型 精确 易于理解的 程序的环境中工作的点来完成许多编程任务 我正在温习严格的 ANSI C 约定
  • 从文件中提取特定行并在 python 中创建数据部分

    尝试编写一个 python 脚本来从文件中提取行 该文件是一个文本文件 是 python suds 输出的转储 我想要 删除除单词和数字之外的所有字符 我不需要任何 n 等字符 找到以 ArrayOf xsd string 开头的部分 从结
  • Windows 服务与简单程序

    在讨论我的问题之前 让我先为大家介绍一下背景 我的公司为许多客户托管网站 我的公司也将一些工作外包给另一家公司 因此 当我们第一次建立一个向客户提供所有信息的网站时 我们将该信息传递给我们签约的另一家公司 并且我们三个人拥有相同的数据 问题
  • 您会向新手推荐哪本 ASP.NET 书籍? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想学习 ASP NET 只是想了解一下该读哪本书 我发现 WROX 的书很有用 虽然封面很蹩脚 开始 ASP NET 3 5 使用 C 和 VB
  • PDO连接测试

    我正在为我的一个应用程序编写安装程序 我希望能够测试一些默认数据库设置 是否可以使用 PDO 来测试有效和无效的数据库连接 我有以下代码 try dbh new pdo mysql host 127 0 0 1 3308 dbname ax
  • 使用 Java New I/O 读取行

    使用 New I O 从文件中读取行的最佳方法是什么 我一次只能获取一个字节 任何想法 或者对于小文件 您可以这样做 List
  • 尝试像集合和子集一样对待类型类和子类型

    这个问题与我之前的SO问题有关类型类 我问这个问题是为了设置一个有关语言环境的未来问题 我不认为类型类适合我想要做的事情 但是类型类的工作方式让我了解了我想要从语言环境中得到什么 下面 当我使用大括号表示法时 0 0 它不代表普通的 HOL
  • 无法将预期类型 [a0] 与实际类型 IO () 匹配

    我的代码有什么问题 insertValue file x if x 10 then ok else do putStrLn Error file In an if then else表达式 两个分支必须具有相同的类型 其中一个分支是 10
  • 使用 Perl、Python 或 Ruby,如何编写一个程序在预定的时间“点击”屏幕?

    使用 Perl Python 或 Ruby 我可以编写一个程序 可能调用 Win32 API 在预定时间 例如每 1 小时 单击 屏幕吗 Details 这是为了实验 点击对 Flash 内容以及屏幕上的任何元素都有效吗 如果程序能够记录屏
  • 将 ConsumerRebalanceListener 添加到 ConcurrentKafkaListenerContainerFactory

    在 Spring Boot 应用程序中 我使用一个带有 KafkaListener 注释的类作为消息侦听器 我想向我的应用程序添加 ConsumerRebalanceLister 以管理重新平衡时的缓存数据 如何将 ConsumerReba
  • 为 Maven 构建的 Web 应用程序指定运行时配置参数

    我是 Maven 的新手 我想知道是否有一种合理的方法可以在构建时向 Web 应用程序指定配置信息参数 我的意思如下 使用 Ant 我通常创建一个文件夹 例如配置参数 并在该文件夹中放置一些属性文件或任何其他必要的文件 并为我的应用程序运行
  • Html.Editor 不渲染值

    我在使 Html Editor 渲染所需的 HTML 时遇到问题 这是场景 assign the value ViewBag BeginDate seaBeginEnd beginDate View Html Editor Begin Vi
  • Windows Phone 7 开发人员工具和现有 Visual Studio 2010 安装 - 如何安装?

    微软的Windows Phone 7 开发者网站其中包含以下内容 Visual Studio 2010 Express for Windows Phone CTP Windows Phone Emulator CTP Silverlight
  • SimpleDateFormat 返回带有无效日期字符串的奇怪日期

    我尝试解析时间格式化字符串 现在当我解析字符串 2014 01 07 95 25 37 时 它返回一个日期 而不是抛出 ParseException 谁知道如何让它抛出 ParseException 谢谢乔治 SimpleDateForma
  • 根据数组的值对数组进行排序

    我有一个数组 样本 array 0 something 1 something2 2 1 something 2 something2 4 2 something 5 something2 2 我想根据键某事对数组进行排序 所以它看起来像
  • 向量与其自身的外积 M 次

    我想从长度为 n 的向量 x 创建一个 M 模式 n 维张量 A 使得 A i 1 i 2 i M x i 1 x i 2 x i M 到目前为止我拥有的代码是 A np multiply outer x x for i in range
  • 如何提高 HTML5 游戏中多个对象的性能?

    当需要显示许多对象并计算位置 碰撞检测 反应等并且我希望一切看起来都很顺利时 我可以做什么 这是一个example我正在发展 我希望如果屏幕上有 100 个球 我可以顺利地显示它们 但我不知道该怎么做 每一个建议都会受到赞赏 提高画布性能的
  • ServletContext 类型的 getContextPath() 方法未定义

    这是我的 JSP path 该文件在 Tomcat7 和 Tomcat6 中是正确的 但是当我在 Cpanel 托管的 Tomcat 5 32 中请求 JSP 页面时 出现以下异常 org apache jasper JasperExcep
  • 有没有办法根据所选的productFlavor更改gradle变量值?

    下面是我的 gradle 示例 我想根据所选的产品风味动态更改 STORE FILE PATH 值 目前 STORE FILE PATH 总是用最后定义的 ProductFlavor 覆盖它的值 就我而言 它总是变成 pro jks 帮我找