不同的产品风格是否可以有不同的 build.gradle ?

2024-03-31

我正在工作的项目是为基于 Amazon 的设备以及 Android 构建的。几乎 95% 的代码库在这两者之间是通用的。因此,我没有将这两个项目作为不同的项目,而是考虑使用产品风味将这两个项目放在一起。(请告诉我是否还有其他更好的解决方案)

但我在这里面临的问题之一是 build.gradle 中的 buildscript 和 android 属性,其中我需要 Amazon 和 Android 的不同值。 例如,我需要这个用于 Android

dependencies { classpath 'com.android.tools.build:gradle:1.1.3' }

这是亚马逊的

dependencies { classpath 'com.amazon.device.tools.build:gradle:1.0.0' }

对于compileSdkVersion 和buildToolsVersion 也是如此。

如果我需要每个都有两个不同的 build.gradle,我应该如何根据构建风格选择其中一个? (我不确定这是否真的可能)

如果没有,是否真的有更好的解决方案可以通过将所有内容放在同一个项目中来解决此问题。

提前致谢。


应该是评论,但是太长了。
如果它不能提供帮助,我会删除它。

据我所知,你不能有不同的build.gradle用于产品口味。
但是,您应该能够调节buildscriptcompileSdkVersion.

它不是那么干净,但你可以使用类似的东西:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    if (condition) {
        dependencies {
            classpath 'com.android.tools.build:gradle:1.3.0+'
        }
    } else if (condition) {
        dependencies {
            classpath 'com.amazon.device.tools.build:gradle:1.1.3'
        }
    }
}

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

不同的产品风格是否可以有不同的 build.gradle ? 的相关文章

随机推荐

  • WatiN 生成空页

    当使用 WatiN 捕获图像时 生成的图像只是空的 纯黑色的 不过 图像的尺寸等于屏幕尺寸 例如 以下代码片段仅保存两个黑色图像 using IE ie new IE ie ClearCache ie BringToFront ie GoT
  • TypeScript 中 ?: 是什么意思?

    我在 Angular 的 TypeScript 声明文件中发现了以下内容 interface IDirective compile templateElement IAugmentedJQuery 什么是 编译后做什么 See 演练 接口
  • HTML 多选不将值发送回 PHP

    我有一个 html 表单中的选择框 它不会将值发送回 php
  • 当应用程序在 Docker 容器中运行时,Swagger UI 给出 ​​404

    在我的项目中 我在 Startup cs 中使用 Swashbuckle 设置了 Swagger public void ConfigureServices IServiceCollection services services AddS
  • Node js中response.send和response.write的区别

    我编写了一个使用 Node js restify 框架的小型 API 该 API 接收请求 实际上是 之后的任何内容 然后将该请求发送到另一台服务器 从服务器获取响应并将响应传递回原始请求源 对于这个 API 我同时使用 Restify 服
  • 使用 dplyr 获取方差为零的列名称

    我试图找到数据中方差为零的任何变量 即恒定连续变量 我想出了如何使用 lapply 来做到这一点 但我想使用 dplyr 因为我试图遵循整洁的数据原则 我可以使用 dplyr 创建一个仅包含方差的向量 但在最后一步我发现值不等于零并返回令我
  • 使用 Powershell Windows 窗体将复选框添加到列表框

    我正在根据我之前的帖子创建一个新问题 在 Powershell Winforms 中更改单个列表框项目的颜色 https stackoverflow com questions 27405945 change the color of in
  • TravisCI 中的 NDK、CMake 和 Android

    我正在尝试为使用一些 C 代码的 Android 项目设置 CI 因此 我需要 Travis Android 映像上未预安装的 NDK 我目前正在通过自己拉动 NDK 来实现这一目标 但是我的 CI 盒子抱怨 CMake 许可证不被接受 奇
  • 具有两列的 LISTAGG 函数

    我有一张这样的桌子 报告 user id Department Position Record id 1 Science Professor 1001 1 Maths 1002 1 History Teacher 1003 2 Scienc
  • 几秒钟后更改 ImageView

    我正在尝试实现一个简单的活动 让用户插入密码 我有一个 gridview 其中包含 9 个要使用的图像和 4 个将作为所选图像的图像视图 单击 gridview 上的项目时 相应的图像将填充所选图像 现在的问题是 我希望 4 个图像视图的行
  • 如何在 Laravel 中设置会话超时?

    是否有一种固有的方法可以将会话设置为在特定时间后过期 我当前的设置似乎将在 30 分钟后过期 我想禁用它或至少增加它 但我在 Laravel 中找不到可以设置此设置的任何位置 In app config session php你有 life
  • 从 Rails 3 控制器返回的凌乱的视图

    在我的 Rails 3 应用程序控制器上 我有以下代码 array Location all each x array lt
  • JavaScript 中有类似 C# 区域的东西吗?视觉工作室 2017

    我正在为一些人工作 他们希望将自己的 JavaScript 库组织成不同的类别 CRUD 函数 表单函数等 他们真的很喜欢 C 中区域的实用性 并且在 JavaScript 文件中要求这样做 有什么建议么 我正在使用 Visual Stud
  • 从 php 标头下载的 Mp3 文件不起作用

    你好呀 好的 事情就这样了 我的服务器上有我的 mp3 文件 每个文件都在其自己的文件夹中 该文件夹中有 mp3 和一个包含以下脚本的 php 文件 问题是 当我点击进入该 php 页面时 标头应该会自动下载 mp3 文件 但当它下载时 它
  • 由于意外的编码更改,Visual Studio 2008 项目文件无法加载

    在我们的团队中 我们在 Visual Studio 2008 中有一个数据库项目 该项目由 Team Foundation Server 进行源代码控制 每隔两周左右 一位同事签入后 项目文件将无法加载到其他开发人员的计算机上 错误信息是
  • MVC @import html 关键字

    我正在尝试使用 但 mvc 在 razor 视图中将其视为 net 代码 CS0103 名称 导入 在当前上下文中不存在 我如何解决它 谢谢 双倍 解决这个问题 更多详情请点击这里 http weblogs asp net scottgu
  • Maven groovy 编译失败且未解释原因

    I run mvn clean compile 并得到以下输出 INFO Scanning for projects INFO INFO INFO Building tendiwa core 1 0 SNAPSHOT INFO INFO I
  • Sais.js 对套接字请求的授权

    我正在尝试构建一个基于 sails js 的聊天应用程序 来自特定聊天的消息的 URL 如下所示 api chat id messages 当我使用 XHR 请求此 url 时 它会提供一个会话 cookie 并且 sails js 会构建
  • 使用和不使用“New”关键字定义数组有什么区别? [复制]

    这个问题在这里已经有答案了 看看这两个简单的程序 方案一 public class GenArray extends Applet byte myArray byte M byte o byte d byte e byte 1 方案2 pu
  • 不同的产品风格是否可以有不同的 build.gradle ?

    我正在工作的项目是为基于 Amazon 的设备以及 Android 构建的 几乎 95 的代码库在这两者之间是通用的 因此 我没有将这两个项目作为不同的项目 而是考虑使用产品风味将这两个项目放在一起 请告诉我是否还有其他更好的解决方案 但我