¿Es posible usar el sistema de compilación de Gradle para Android con Eclipse?
Tengo una aplicación que necesita ser compilada varias veces con diferentes recursos para distintos clientes (marcado, configuración y cambio de datos precargados entre clientes).
A raíz de Google I / O de este año, he oído hablar del nuevo sistema de compilación Android basado en Gradle. Así que pensé, sería una buena idea, realizar este escenario de una fuente / múltiples-apks utilizando un script de compilación de Gradle.
- Importar BaseGameUtils a Android Studio
- ¿Cómo gradle maneja multi módulos con diferentes versiones de la biblioteca de soporte v4?
- El complemento es demasiado antiguo, actualice a una versión más reciente o establezca la variable de entorno ANDROID_DAILY_OVERRIDE en
- Construyendo APK con Gradle fuera de IDE (migrando de Ant)
- Android studio @ aar importar crear un directorio exploded-aar incorrecto
Ahora viene mi pregunta: ¿Cómo puedo empezar a usar Gradle para la construcción mientras se adhiere a Eclipse? Todas las lecturas que encontré en línea apuntan a convertir el proyecto al todavía inmaduro Android Studio. Me gustaría dejar de migrar a Android Studio hasta que se declare "seguro" para uso en producción de Google.
Idealmente, me gustaría poder conectar los guiones de construcción a las configuraciones de depuración y ejecución de Eclipse, de la misma manera que puedo seleccionar y elegir diferentes objetivos de compilación para depurar y archivar en XCode. Si eso es posible, ¿qué pasos se requieren para hacer que funcione?
Me disculpo por la calidad noobish de estas preguntas, pero para mí esto es realmente un país sin descubrir. Cualquier ayuda es apreciada.
Edit: Nuestro equipo ha migrado a Android Studio a finales de octubre de 2013 y desde la versión 0.4 se encuentran cada vez menos errores. Si su organización no es muy conservadora sobre la adopción de entornos pre-1.0 para el desarrollo, le animo a saltar al agua fría y tratar de trabajar con Android Studio y su sistema de generación de Gradle. La única cosa importante que falta IMHO es el apoyo decente para la unidad de prueba.
- Gradle falla con problemas de lectura de datos de error de almacén binario
- No se puede importar el proyecto Eclipse a Android Studio
- El complemento de Android Studio es demasiado antiguo
- Gradle excluir plugin en proyecto principal para subproyecto (s) específico (s)
- Muchos módulos pequeños, o pocos módulos grandes para el mejor rendimiento de la construcción?
- Doloroso Unity proyecto de exportación a Android cada construcción (estoy haciendo algo mal)
- Android - Proguard con httpcore y httpmime con Android Studio y Gradle
- Error de generación de Gradle, Error: Error de ejecución para la tarea ': app: transformResourcesWithMergeJavaResForDebug'
Es posible utilizar 2 sistemas de construcción (basados en Eclipse + gradle). Sólo asegúrese de carpetas de salida son diferentes ( bin
para ADT, build
para gradle). (Actualización para TL, DR: marque Nodeclipse / Enide Gradle para Eclipse ( mercado ))
File -> Export -> Generate Gradle build files
sólo agregará build.gradle
con el contenido a continuación (pero comprobar versiones). No se cambian los archivos existentes.
com.android.tools.build:gradle
versión com.android.tools.build:gradle
debería ser la más reciente . Para gradle tipo gradle build
como se dijo en http://tools.android.com/tech-docs/new-build-system/user-guide . Pruebe gradle tasks
para más. (En mi lenta conexión a Internet tomó 1 hora para gradle para descargar todas las dependencias necesarias)
Vogella tutorial http://www.vogella.com/articles/AndroidBuild/article.html todavía no está listo. Otros tutoriales en línea no están realmente terminados http://www.jayway.com/2013/02/26/using-gradle-for-building-android-applications/
Eclipse ADT todavía no está usando gradle, creo que será pulido dentro de Android Studio primero. No sería tan sabio empezar a usar la tecnología en evolución en ambos IDEs al mismo tiempo.
Vea el ejemplo de build.gradle
continuación. Si ya dominó gradle, entonces tal vez Wizards no es necesario en absoluto. Para obtener la última plantilla de build.gradle
para el proyecto clásico de Android, compruebe gh.c / N / n-1 / b / m / oneeg / docs / android / build.gradle .
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: '*.jar') } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } }
ADT-Bundle no viene con Eclipse Marketplace, por lo que se podría utilizar el sitio de actualización.
Actualizar el repositorio p2 para la integración de Gradle para Eclipse es
http://dist.springsource.com/release/TOOLS/gradle
Pero a partir de la versión 3.4.0 no proporciona Editor para archivos .gradle. Así que no hay sentido de tenerlo para el desarrollo de Android.
Yo iría con ADT predeterminado construir, teniendo gradle como secundaria construir para las experimentaciones y mantener un ojo cuando el flujo de errores en http://tools.android.com/tech-docs/new-build-system se vuelve raro. (Que debería estar alrededor de la versión 1.0 formal)
ACTUALIZACIÓN: 2014-04-15
Alex Ruiz (del equipo de Android) Blog sobre Android, Gradle & ADT
Modelo Gradle de Android
En lugar de crear modelos Android / Gradle específicos de IDE, decidimos tener una representación agnóstica del IDE de un proyecto Gradle. De esta manera, tenemos una sola fuente de información que es más fácil de mantener. La integración del IDE se implementará como un complemento para cada IDE soportado (en nuestro caso, Eclipse e IDEA). El principal beneficio de este enfoque es que podemos liberar el plug-in Gradle independientemente de los complementos de integración IDE. Por ejemplo, podemos enviar una nueva versión del complemento de Eclipse que tiene varias correcciones de errores, sin afectar al lado de Gradle de Android.
A partir de abril de 2014 eclipse-gradle plugin no es compatible con plugin android-gradle:
Según lo respondido en el número 57668 por el equipo de Android (planteado por @arcone)
Miembro del proyecto # 2 x … @ android.com
El complemento de eclipse no es compatible con el complemento de Android.
No podrá importar un proyecto de gradle de Android a Eclipse utilizando el soporte predeterminado de Gradle en Eclipse.
Para que funcione en Eclipse tendremos que cambiar el plugin Gradle para Eclipse, de la misma manera que estamos modificando el soporte de Gradle en IntelliJ
Que es el equipo de Android está trabajando en gradle plugin para IntelliJ y gradle plugin para Eclipse necesita ser actualizado también.
Hay esfuerzo en Nodeclipse para suavizar los tiempos de transición. Y continúe desarrollándose en Eclipse mientras sigue experimentando o usando gradle.
Nodeclipse / Enide Gradle para Eclipse ( mercado )
Algunas capturas de pantalla para Gradle for Eclipse:
- Instalar Gradle:
a. http://gradle.org/gradle-download/ b. Elija 2.1 de la sección de releases anteriores. do. Descomprimir en la carpeta conveniente. (Ejemplo: D: \ Graddle \ gradle-2.1) d. Establecer variables de entorno del sistema. yo. GRADLE_HOME como D: \ Graddle \ gradle-2.1) ii. GRADLE_OPTS como -XX: MaxPermSize = 512m iii. % GRADLE_HOME% \ bin a la ruta iv. Establezca ANDROID_HOME (Ex: D: \ android-sdk) v. Agregue "% ANDROID% \ platform-tools" a path.
mi. Abra el símbolo del sistema y seleccione gradle. Puede usar gradle -version para verificar.
-
Instalar el plugin eclipse de Gradle: a. Ejecutar Eclipse b. Ayuda> Eclipse Market Place c. Buscar "gradle" d. En eso elegir "Nodeeclipse / enide" e. Seleccione todos los listados, acepte e instale. F. Reinicie eclipse una vez instalado.
-
Establecer Gradle & Java Homes: a. Ejecutar eclipse. segundo. Ventana> Preferencias> Gradle EnIDE c. Establezca estos si no se establece: i. Gradle inicio de uso se establece (Ex: D: \ Graddle \ gradle-2.1) ii. JAVA_HOME alternativo a utilizar se establece (Ej: C: \ Archivos de programa (x86) \ Java \ jdk1.7.0_60) iii. Las opciones de JVM para GRADLE_OPTS se establecen en "-XX: MaxPermSize = 512m"
-
Construir el proyecto: a. Expanda APK en eclipse Java explorer. segundo. Haga clic derecho en build.gradle c. Ejecutar como> Gradle GUI d. Línea Comand: gradle clean build e. Espere a que finalice la compilación: La primera vez que se construya tendrá varios minutos. F. Si el error Build dex o error de espacio de montón de Java: i. Abra build.gradle en el editor. Ii. Para las compilaciones de dex múltiple: fije javaMaxHeapSize apropiado basado en su java (javaMaxHeapSize = 1024M para Java 32bit, 2048M para Java 64bit) iii. Puede comentar la firma (// se aplica desde: "$ rootProject.projectDir / jenkins_config / gradle / signing.gradle";) para evitar firmar para la compilación de depuración. Iv. Crear de nuevo después de estos arreglos.
-
Instalar el dispositivo Build On: a. Conecte el dispositivo a m / cb Haga clic derecho en build.gradle c. Ejecutar Como> gradle installDebug Gradle Android inicio d. Espere a que finalice la instalación
-
Construcción de depuración: a. Inicie la aplicación b. Adjunte el depurador (DDMS> Dispositivos> Aplicación). do. Podemos depurar en pocos dispositivos comprobados.
- ¿Qué es OBB (Opaque Binary Blob) en Android desarrollar sitio?
- Reconocimiento de rostro inestable con OpenCV