java - res - recursos android studio
¿Cómo agregar una carpeta fuente vinculada en Android Studio? (5)
En Eclipse puedo agregar una carpeta de origen a mi proyecto de Android como una "carpeta de origen vinculada". ¿Cómo logro lo mismo en Android Studio?
¿O es posible agregar una carpeta externa para construir en gradle?
Aunque sourceSets
permite incluir estructuras de directorios completas, no hay forma de excluir partes de ella en Android Studio (a partir de la versión 1.2), como se describe aquí: Android Studio Exclude Class from build?
Hasta que Android Studio se actualice para admitir directivas de inclusión / exclusión para fuentes de Android, los Symlinks funcionan bastante bien. Si usa Windows, las herramientas nativas como junction
o mklink
pueden lograr el equivalente de los enlaces simbólicos de Un * x. CygWin también puede crear estos con un poco de coerción. Ver: Git Symlinks en Windows y Cómo hacer un enlace simbólico con cygwin en Windows 7
En caso de que alguien esté interesado, aquí hay un archivo gradle de módulo Java completo que genera y hace referencia correctamente a los artefactos construidos dentro de una aplicación de módulo múltiple de Android
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"
La respuesta correcta es:
android {
....
....
sourceSets {
main.java.srcDirs += ''src/main/<YOUR DIRECTORY>''
}
}
Además, si su directorio de origen externo no está en src/main
, puede usar una ruta relativa como esta:
sourceSets {
main.java.srcDirs += ''src/main/../../../<YOUR DIRECTORY>''
}
Puede agregar una carpeta de origen al script de compilación y luego sincronizar. Busque sourceSets en la documentación aquí: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Basic-Project
No he encontrado una buena manera de agregar carpetas de origen de prueba. He agregado manualmente la fuente al archivo .iml. Por supuesto, esto significa que desaparecerá cada vez que el script de construcción esté sincronizado.
en su build.gradle agregue lo siguiente al final del nodo de Android
android {
....
....
sourceSets {
main.java.srcDirs += ''src/main/<YOUR DIRECTORY>''
}
}