在Eclipse中,我可以将源文件夹添加到我的Android项目中作为“链接的源文件夹”。如何在Android Studio中实现相同的功能?
或者,是否可以将外部文件夹添加到Gradle构建中?
在Eclipse中,我可以将源文件夹添加到我的Android项目中作为“链接的源文件夹”。如何在Android Studio中实现相同的功能?
或者,是否可以将外部文件夹添加到Gradle构建中?
android {
....
....
sourceSets {
main.java.srcDirs += 'src/main/<YOUR DIRECTORY>'
}
}
正确答案是:
android {
....
....
sourceSets {
main.java.srcDirs += 'src/main/<YOUR DIRECTORY>'
}
}
src/main
之下,您可以使用如下的相对路径:sourceSets {
main.java.srcDirs += 'src/main/../../../<YOUR DIRECTORY>'
}
src/main/../../
前缀。 - Brian WhitesourceSets { main.java.srcDirs += 'src/main/\\10.51.70.21\me\myco\apps\myapp\src' }
- likejudoopen()
函数来访问文件。你可以使用类似 nfs
或 smb
的东西将远程目录挂载到文件系统中,但这与 Android Studio 无关。 - Brian Whitecmake { }
路径也是相对的。谢谢。 - user1300214sourceSets
虽然可以包括整个目录结构,但在Android Studio中(1.2版本至今)无法排除它的部分内容,如从Android Studio中排除类所述。
在Android Studio更新支持Android源代码的包含/排除指令之前,符号链接是一个不错的选择。如果你使用Windows,那么像junction
或mklink
这样的本地工具可以实现类Unix系统中符号链接的等效功能。稍加措施,Cygwin也可以创建它们。详情请见:Windows中的Git符号链接和如何在Windows 7中使用Cygwin创建符号链接。
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.15"
}
}
apply plugin: "net.ltgt.apt"
apply plugin: "java-library"
apply plugin: "idea"
idea {
module {
sourceDirs += file("$buildDir/generated/source/apt/main")
testSourceDirs += file("$buildDir/generated/source/apt/test")
}
}
dependencies {
// Dagger 2 and Compiler
compile "com.google.dagger:dagger:2.15"
apt "com.google.dagger:dagger-compiler:2.15"
compile "com.google.guava:guava:24.1-jre"
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
点击此处查看详情。
android {
sourceSets["main"].java.srcDirs("src/main/myDirectory/code/")
sourceSets["main"].resources.srcDirs("src/main/myDirectory/resources/")
// Another notation:
// sourceSets {
// getByName("main") {
// java.srcDirs("src/main/myDirectory/code/")
// resources.srcDirs("src/main/myDirectory/resources/")
// }
// }
}
如果您没有使用Gradle(例如从APK创建项目),则可以通过Android Studio UI(截至版本3.3.2)完成此操作:
根据我的经验(使用本地代码),只要您的.so
文件是使用调试符号构建的,并且来自相同的绝对路径,那么在源文件中添加的断点将自动被识别。
main.res.srcDirs += '<YOUR DIRECTORY>'
- FlorianT