【发布时间】:2014-03-30 21:28:56
【问题描述】:
我使用的是标准的 Android Studio 目录结构,并创建了不同的构建类型:
buildTypes {
debug {
runProguard false
packageNameSuffix ".debug"
signingConfig signingConfigs.debug
}
preview.initWith(buildTypes.debug)
preview {
packageNameSuffix ".preview"
}
release {
runProguard false
signingConfig signingConfigs.release
}
}
一切编译正常,但 AS 无法识别所有源文件夹。
只有main 和debug 下的文件夹被标记为源,preview 和release 下的文件夹显示为普通文件夹
实际上,这些文件夹中没有错误检查
我检查了 .iml 文件,没有添加 sourceFolder 标签。
如果我手动编辑项目 iml 文件添加行:
<sourceFolder url="file://$MODULE_DIR$/src/preview/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/preview/res" type="java-resource" />
它似乎工作正常。
...直到我与我的 gradle 文件同步 - 这将删除上述行。
这是 gradle 插件中的错误,还是我做错了什么?
【问题讨论】:
-
我希望你明白,你不应该编辑 *.iml 文件,因为它是从 Gradle 生成的。项目是否从命令行正确构建?如果不是这样,导入可能会失败并且项目模型不会更新。顺便说一下,我不确定你是否真的需要 'initWith' 行。
-
我刚刚编辑了iml文件,看看是不是这个原因。所以我的结论是它没有正确生成。
-
该项目从命令行和 Studio 编译 - 它只是将文件夹显示为 sourceFolders - 这实际上使工作变得非常困难
-
好吧,很公平,构建类型是否显示在构建变体列表中?,我实际上认为下面 Ladios 的答案就是您要寻找的,只有一种构建类型会在IDE。
-
任何正在寻找 android studio 风格演示的人
标签: android gradle android-studio