问题标签 [android-sourcesets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 对具有完全相同配置的许多 sourceSet 中的几个进行分组
可以说我有以下内容sourceSets
:
如果您注意到flavor1
并flavor3
具有相同的 srcDirsflavor2
和flavor4
.
尝试可能性#1
我试图弄清楚是否有办法通过使用这样的东西来避免冗余:
以上不起作用(已经尝试过)。寻找类似的东西,这样我就可sourceDirs
以为一组口味提供一组通用的。任何人都尝试做类似的事情并可以提供一些指示?
尝试可能性#2
sourceSets
需要和口味的名称相同吗?
我可以sourceSets
单独命名然后将它们映射到productFlavors
这样吗?
尝试可能性#3
可以通过任务以某种方式动态分配源集以实现相同的目标吗?
更新
道格拉斯的回答有点帮助我非常接近我最终寻找的东西(减少 build.gradle 中的代码)。他使用了上面的可能性#3。谢谢道格拉斯!赏金猎人的任何更好的选择仍然是受欢迎的(更接近上面的可能性#1和#2)。如果没有任何结果,当我接受他的回答时,道格拉斯已经在这段时间结束时获得了赏金。但仍会对找到更好的选择保持乐观。
android - 使用“initWith”为“productFlavors”和“sourceSets”复制构造函数
参考这个答案。是否可以像链接答案中的那样创建productFlavors
和sourceSets
使用复制构造函数。initWith
那个工作得很好buildTypes
。
因为buildTypes
它是这样完成的:
这可能productFlavors
吗sourceSets
?
android - 使用 CSV/TXT 文件中的名称列表(带有属性)动态生成 productFlavors 和 sourceSets
这个问题是我另一个问题的延续,我想进一步改进。
我可以sourceSets
使用以下代码对风味(具有通用配置)进行分组:
(从上面链接问题中的天才那里得到)
现在,我想知道是否[flavor2, flavor4]
可以从以下任何一项中提取该列表:
- 一个 XML 文件,我可以对其进行迭代以获得所有风格(我将放在那里)
- 我可以迭代和获取值的 CSV 文件。
- 一个自定义类,我可以将其写入单独的文件并从类中的静态成员中获取数据。
除了风味名称之外,我还打算将以下内容存储在外部源(以上之一)中:
- 应用程序 ID(我将拉到
productFlavors
) - 广告单元 ID(每种口味两个)
- 其他一些自定义值,如类别等。
PORPOSE: 我想编写一段通用代码来迭代并动态创建productFlavors
and sourceSets
。我已经概括sourceSets
到几乎 90%,现在一个块足以满足所有口味。
现在看起来像这样:
也想为productFlavors
上述提示做同样的事情。
卡在:[flavor2, flavor4]
从外部来源获取上面代码中的列表(以及上面列出的每种风味的一些附加字段)。
我看到像这样的方法
但我不太确定如何使用这些。由于方法可用,我确信可以做我想做的事情。
有没有人这样做并有一些指示?
android - 如何在Android Studio的两个不同项目中使用同一个文件java类
SharedClass.java
我需要在两个项目中使用该类: ProjectA和ProjectB,如果我更改 的代码SharedClass
,它也需要在另一个项目中更改。
android - 产品风味、来源集。不包括文件 - android studio
我有一个有 4 种产品口味的应用程序。build.gradle
看起来像这样:
我已经为风味添加了源集,并为每种特定风味添加了一些文件。
此外,我想指定从主 sourceSet中排除的 flavor1 中的哪些文件。
主要 sourceSet 中要排除的文件main/java/com/example/testing/
在其中
- 文件1.java
- 文件2.java
- 文件3.java
- 文件4.java
在每种口味中,我想从中排除1 个文件。但我希望味道拥有所有其余部分。例子:
flavor1 应该有:file2、file3、file4。
falvor2 应该有:file1、file3、file4。
等等
正如您所看到的,这些文件由大多数风味共享,所以我不想将它们全部放在风味中,因为它将是代码副本,并且每个文件中的每个更改都必须应用于所有不同的风味文件。
我见过这个:
但这对我不起作用。我想不明白。
谢谢 }
android - 风味维度源代码
我有一个包含大约 30 种产品口味的项目。其中一些产品风格需要共享代码,而不是与大多数产品风格共享。我可以将代码分配给风味组吗?
java - 为主要和特定风味android运行单元测试
我有 5 种口味映射到 2 个源文件夹,其中一些通用代码写在主文件夹中,b 文件夹有一些额外的 bean,我已经为其编写了单元测试,现在我想像主文件夹中的所有单元测试一样运行单元测试为 B 应用程序编写的一些特定单元测试。
1.我应该在哪里放置 B 应用程序的文件夹特定单元测试。我已经创建了一个文件夹 test 并将这些测试放在该文件夹中并添加
unitTest {
java.srcDir file('src/b/test')
}
在 B 应用程序的源集中,但不是这不起作用 2.我应该如何为单元测试放置映射,这些不是 android 测试,我已经厌倦了这个和这个,但这些似乎是用于 Android 测试而不是用于单元测试。
android - android.databinding.Observable 的位置在哪里?
Android Studio 3.0.1 抱怨找不到这个类。即使它构建了,它也只是显示了一个可怕的红色下划线。这是我的第一个问题,但也很好奇这个难以捉摸的课程在哪里?
查看扩展的库它没有显示它:/Library/Android/sdk/extras/android/m2repository/com/android/databinding/library/1.3.1/library-1.3.1-sources.jar
android - Android Gradle 插件无法识别 SourceSet 'commonTest'。也许你拼错了什么?
看似与此问题相同的根本原因,但那里的答案对我不起作用。我有一个名为的自定义源集,用于在源集和源集commonTest
之间共享某些测试实用程序代码。这是我的相关项目配置:test
androidTest
这在 AGP 3.0.1 上运行良好,但在 AGP 3.1.0 上中断。是否不再支持自定义源集?
android - 如何在 Android 库项目中按测试类型分隔源文件?
我按照gradle 文档在 Java 项目中按照测试类型分离源文件,我想在 Android 库项目中做同样的事情。默认情况下,Android 插件com.android.library
支持两种类型的测试目录test
和androidTest
. 如何添加说integTest
我想要运行的内容test
?
当我尝试将上述内容添加sourceSet
到 时build.gradle
,出现错误
错误:Android Gradle 插件无法识别 SourceSet 'integTest'。也许你拼错了什么?
由于Android Gradle Plugin 不支持sourceSets
像Java Plugin 这样的自定义,有没有其他方法可以解决这个问题?