Rya*_*don 6 android android-gradle-plugin android-productflavors
我对多维风格的 test 和 androidTest 源目录有疑问。
给出以下口味:
flavorDimensions "taste", "serving"
productFlavors {
chocolate {
flavorDimension "taste"
}
strawberry {
flavorDimension "taste"
}
kiwi {
flavorDimension "taste"
}
sample {
flavorDimension "serving"
}
whole {
flavorDimension "serving"
}
}
Run Code Online (Sandbox Code Playgroud)
在 Android Studio 中识别“非测试”源目录(任何风格组合)都没有问题:
src/样本、src/整个、src/巧克力、src/草莓、src/猕猴桃、src/chocolateSample、src/chocolateWhole、src/strawberrySample、src/strawberryWhole、src/kiwiSample、src/kiwiWhole
我的问题是“测试”源目录。
仅识别单维度 口味: src/testSample、src/testWhole、src/testChocolate、src/testStrawberry、src/testKiwi。
多维度口味不包括: src/testChocolateSample、src/testChocolateWhole、src/testStrawberrySample、src/testStrawberryWhole、src/testKiwiSample、src/testKiwiWhole
“androidTest”等效源目录也是如此。
我的印象是 app.iml 没有正确生成。虽然我们知道我们永远不应该这样做,但如果我手动添加丢失的条目,文件夹就会被正确识别。
为什么这应该适用于非测试源目录,但适用于测试源目录却失败?这是已知问题还是 gradle 插件的限制?
我尝试对此进行研究,但只找到与测试源文件夹的单一风味维度或非测试源文件夹的多维风味相关的主题。测试源文件夹的多维风格没有任何内容。
您应该能够通过修改 Android 应用程序build.gradle文件来解决此问题。例如,添加testChocolateSample到单元测试和testChocolateandroid 集成测试:
android {
[...]
sourceSets {
main.java.srcDirs += 'src/main/java'
testChocolateSample.java.srcDirs += 'src/testChocolateSample/java'
androidTestChocolate.java.srcDirs += 'src/androidTestChocolate/java'
}
}
Run Code Online (Sandbox Code Playgroud)
这也适用于 Kotlin。只需切换java与kotlin.
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |