在Eclipse中,我可以将源文件夹添加到我的android项目中作为“链接的源文件夹”。如何在Android Studio中实现相同的功能?
或者是否可以添加外部文件夹来构建gradle?
答案 0 :(得分:87)
将以下内容添加到android节点的末尾
android {
....
....
sourceSets {
main.java.srcDirs += 'src/main/<YOUR DIRECTORY>'
}
}
答案 1 :(得分:18)
正确的答案是:
android {
....
....
sourceSets {
main.java.srcDirs += 'src/main/<YOUR DIRECTORY>'
}
}
此外,如果您的外部源目录不在src/main
下,您可以使用这样的相对路径:
sourceSets {
main.java.srcDirs += 'src/main/../../../<YOUR DIRECTORY>'
}
答案 2 :(得分:2)
您可以将源文件夹添加到构建脚本,然后进行同步。在这里的文档中查找sourceSets:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Basic-Project
我还没有找到添加测试源文件夹的好方法。我已手动将源添加到.iml文件中。当然,这意味着每次构建脚本同步时它都会消失。
答案 3 :(得分:2)
虽然sourceSets
允许您包含整个目录结构,但是无法在Android Studio(从1.2版开始)中排除部分内容,如下所述:Android Studio Exclude Class from build?
在Android Studio更新为支持Android源的包含/排除指令之前,Symlinks效果很好。如果您使用的是Windows,junction
或mklink
等原生工具可以完成Un * x符号链接的等效工作。 CygWin也可以用一点点来创造它们。请参阅:Git Symlinks in Windows和How to make symbolic link with cygwin in Windows 7
答案 4 :(得分:2)
以防任何人感兴趣,这是一个完整的Java模块gradle文件,它可以正确生成并引用构建的文件 在Android多模块应用程序中
ignore.case
答案 5 :(得分:0)
如果您不使用gradle(例如,通过APK创建项目),则可以通过Android Studio用户界面(从3.3.2版开始)进行操作:
Open Module Settings
+ Add Content Root
按钮(右中)OK
根据我的经验(使用本机代码),只要您的.so
是使用调试符号构建的并且来自相同的绝对路径,就会自动识别源文件中添加的断点。