com.android.build.gradle.internal.model.ApiVersionImpl no se puede transmitir a java.lang.Integer mientras migra el proyecto AS a IDEA
Necesitaba migrar de Android Studio a IntelliJ IDEA ya que necesitaba hacer algún otro trabajo que no fuera Android en Java. Cloné mi proyecto de git y lo importé en IDEA; sin embargo, encontré un error con Gradle en el proceso. He buscado, pero no he podido encontrar una respuesta que corrija mi error.
Aquí está el registro de eventos
- Cómo configurar gradle home mientras importa proyectos existentes en Android studio
- Agregar AAR en IntelliJ IDEA sin gradle
- Intellij Idea 13 no puede encontrar Herramientas de jerarquía al programar aplicaciones de Android
- Cambiar nombre y error del paquete "La clase de actividad no existe"
- Problemas al importar proyectos en Android Studio con respecto a ActionBarSherlock
03:39:42 PM All files are up-to-date 03:39:42 PM ClassCastException: com.android.build.gradle.internal.model.ApiVersionImpl cannot be cast to java.lang.Integer: com.android.build.gradle.internal.model.ApiVersionImpl cannot be cast to java.lang.Integer
El settings.gradle (myproject es un ejemplo para SO, quiere omitir el nombre real)
include ':myproject'
El build.gradle en el directorio raíz (por ejemplo, /myproject/build.gradle)
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' } } allprojects { repositories { mavenCentral() } }
y el otro build.gradle (por ejemplo, /myproject/myproject/build.gradle)
apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion '20' defaultConfig { minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName '1.0' } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } debug { versionNameSuffix "-alpha" } } productFlavors { } packagingOptions{ exclude 'META-INF/DEPENDENCIES.text' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.readystatesoftware.systembartint:systembartint:1.0.3' compile 'commons-validator:commons-validator:1.4.0' }
Supongo que es algo que pertenece a la versión Gradle o incompatibilidades entre Studio e IDEA, pero no estoy seguro. Apreciaría mucho una respuesta. Gracias.
- Error al cambiar de Android Studio 2.1 a 2.2
- IntelliJ IDEA 12 - Nuevo asistente de módulo de aplicaciones de Android falla con "no se puede encontrar el directorio de recursos para el módulo"
- Junit usando ActivityInstrumentationTestCase2 - Excepción en el constructor: Stub
- ¿Por qué la API 22 insiste en unirse a JDK 1.6?
- Android: Adb rechazó la conexión al cliente
- Gradle: error: escape ilegal de unicode
- Android Studio - Valores de error de compilación de Appcompat-v23 / styles_bases.xml
- Android Studio - no se puede fusionar desde una sucursal de SVN
Creo que es porque su proyecto Gradle es demasiado nuevo para la versión del complemento de Android que IntelliJ IDEA envía con.
Hay un par de soluciones posibles:
Puede intentar degradar la versión del complemento Android Gradle en el archivo de compilación hasta que llegue a una versión con la que trabajará. Esto se encontrará con problemas si se mueve hacia atrás hasta el momento que otras partes de ella son incompatibles. Para ello, reduzca el número de versión en la línea:
classpath 'com.android.tools.build:gradle:0.12.+'
Sin embargo, si lo hace, sepa que este archivo de compilación no será compatible con las versiones modernas de Android Studio. No hay una buena solución para esto en este momento.
Otro enfoque sería probar el IntelliJ 14 EAP, que probablemente tendrá una versión posterior del complemento. Tenga en cuenta que IntelliJ 14 todavía está en una fase muy activa de su ciclo de desarrollo, y es probable que haya errores. Úselo bajo su propio riesgo. http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP
Long-winded explicación:
Hay muchas piezas diferentes en el trabajo:
- Su archivo de compilación
- El complemento de Android para Gradle
- El complemento de Android para IntelliJ, que se utiliza tanto por:
- Android Studio y
- IntelliJ IDEA
El plugin en # 3 es el mismo plugin para Android Studio e IntelliJ, pero el problema es que está evolucionando muy rápidamente, y Android Studio está en un horario de lanzamiento mucho más rápido, y cada lanzamiento viene con el código más reciente. IntelliJ IDEA está en un horario de lanzamiento menos frecuente, y para ser honesto, no estoy completamente seguro de qué complemento de Android se incluye; No he mirado su estrategia de ramificación.
También evoluciona rápidamente el complemento de Android para Gradle. Muchas veces, esto se mueve en lockstep con nuevas versiones de Android Studio; para soportar las nuevas características que necesitamos en Android Studio, los usuarios necesitan una versión mínima más nueva del complemento Gradle y viceversa, por lo que a menudo se han realizado migraciones forzadas de la versión del complemento en el pasado.
Así que lo que está sucediendo es que su archivo de compilación necesita una versión reciente del complemento Android Gradle, que necesita una versión reciente del complemento de IntelliJ para Android, que se envía en Studio pero no en la versión actual de IJ 13.
Las cosas se están asentando, por lo que esperamos que esto mejore en el futuro. En particular, la versión 1.0 del complemento Android Gradle funcionará en todas las plataformas y será compatible con futuras versiones de todos los productos durante mucho tiempo, si no siempre.
Tienes que usar la versión anterior de las herramientas de Android. La versión 0.10. + Funciona con Idea 13
Así que acaba de poner
classpath 'com.android.tools.build:gradle:0.10.+'
Desafortunadamente esto no funcionará con Android Studio ni Idea 14 EAP, y si tienes compañeros de trabajo trabajando en el mismo proyecto no hay una buena solución.
La opción es continuar usando Idea 13 con las versiones de la versión 0.10. O de la versión para Android, o migrar a EAP y / o Android y comenzar a usar la versión 0.11 + de las herramientas de Android. 🙁 NOTA: 0.12. + No funcionará con Idea 14 EAP
O puede intentar introducir la solución que usamos en el equipo mientras esto no se estabiliza:
En settings.gradle add
boolean fromIdea14 = System.properties["idea.version"]?.toString().equals("14") org.gradle.api.internal.initialization.DefaultScriptHandler.metaClass.toolsVersion = fromIdea14 ? "0.11.+" : "0.10.+"
Entonces en build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath group: 'com.android.tools.build', name: "gradle", version: getBuildscript().toolsVersion } }
Esto funcionará para todo el mundo usando Idea 13 y para los chicos que utilizan 14 EAP o AndroidStudio deben agregar a los argumentos de Gradle VM -Didea.version = 14 .
Nota: Parece que Idea no evalúa la secuencia de comandos para configurar proyectos android invocando gradle por sí mismo para obtener otra propiedad o variable env no funcionará 🙁 La única manera es especificar gradle argumento VM en la configuración.
- android.view.InflateException: Línea de archivo XML binario # 7: Error al inflar la barra de herramientas de la clase
- cambiando el fondo de RadioButton cubrió el texto en radiobutton android