modulos - Android Gradle Build System: Crear Jar, No Biblioteca
import library android studio 3 (2)
Actualmente estoy trabajando en eclipse. Quiero migrar a Android Studio, sin embargo, primero tengo que resolver esto: ¿Cómo creo un jar para mi proyecto con el nuevo sistema de construcción de Android?
Mi proyecto se configura como una biblioteca, sin embargo, solo hay archivos java en el proyecto. No necesito o quiero exportar esto como una biblioteca. Quiero exportar los archivos como .jar para que se pueda colocar fácilmente en otro proyecto.
Actualizar Aquí está mi archivo de gradle. No puedo agregar el complemento de apply plugin java
línea apply plugin java
porque es incompatible con el complemento de Android. La tarea del tarro ya está incluida en el complemento de Android.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ''com.android.tools.build:gradle:0.4''
}
}
apply plugin: ''android''
dependencies {
compile files(''libs/android-support-v4.jar'')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
sourceSets {
main {
java {
srcDir ''src/main/java''
}
}
}
task jar(type: Jar) {
from sourceSets.main.java
}
Estoy ejecutando el script como: gradle clean jar
Cuando ejecuto las tareas, no pasa nada ... ¿Por qué? ¿Qué me estoy perdiendo?
Actualización 2
A continuación se muestra el nuevo archivo de compilación de Gradle que estoy usando. Observe el cambio en la versión de Gradle debido a la última actualización de Android Studio. Incluso con una clean build
simple y clean build
, recibo este error: el Project directory ''<my_workspace_path>/Core2Project/build.gradle'' is not a directory.
Este error solo ocurre en el estudio de compilación. No cuando corro desde el IDE. También me he encontrado con este mismo problema con otro proyecto. Resulta que obtendré este error cuando especifique el nombre del archivo para usar en el estudio de compilación.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ''com.android.tools.build:gradle:0.5.+''
}
}
apply plugin: ''android''
dependencies {
compile files(''libs/android-support-v4.jar'')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
sourceSets {
main {
java {
srcDir ''src/main/java''
}
}
}
}
task jar(type: Jar) {
from android.sourceSets.main.java
}
Con las versiones más recientes de gradle y el complemento android gradle, solo necesitas agregar lo siguiente a tu build.gradle
:
task jar(type: Jar) {
from android.sourceSets.main.java.srcDirs
}
y ejecute gradle clean compileReleaseJava jar
En versiones anteriores del complemento gradle, su elemento sourceSets
debe estar dentro de android
:
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
sourceSets {
main {
java {
srcDir ''src/main/java''
}
}
}
}
Entonces, su tarea jar
tendría que hacer referencia a android.sourceSets
:
task jar(type: Jar) {
from android.sourceSets.main.java
}
la tarea ''jar'' que quiere decir aquí es introducida por el complemento java. Puedes aplicar el plugin java de Gradle usando
apply plugin:''java''
Consulte el capítulo sobre el complemento java en la guía de uso de gradle en http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html#N103C6 para obtener más información sobre el complemento java.
aclamaciones,
René