¿Cómo puedo añadir una biblioteca (android-support-v7-appcompat) en IntelliJ IDEA

He creado un proyecto, copiado los archivos de recursos en el proyecto, la biblioteca, lo añadió a la estructura del proyecto, el estilo prescrito Theme.AppCompat . Compilado sin errores, pero cuando empiezas el descenso Excepción:

 08-03 00:50:00.406: ERROR/AndroidRuntime(4055): FATAL EXCEPTION: main java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98) at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58) at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98) at com.example.SampleMetrRost.CentralActivity.onCreate(CentralActivity.java:12) at android.app.Activity.performCreate(Activity.java:4636) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985) at android.app.ActivityThread.access$600(ActivityThread.java:127) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4476) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583) at dalvik.system.NativeStart.main(Native Method) 

Ayudame por favor. Pasé todo el día hoy.

Sin Gradle ( Haga clic aquí para la solución de Gradle )

  1. Cree un proyecto de biblioteca de soporte .

  2. Importe su proyecto de biblioteca a Intellij desde el proyecto Eclipse (este paso sólo se aplica si ha creado su biblioteca en Eclipse).

  3. Haga clic con el botón derecho del ratón en el módulo y elija Abrir configuración de módulo.

  4. Bibliotecas de configuración del archivo jar de v7 Bibliotecas de configuración del archivo jar de v7

  5. Módulo de biblioteca de configuración de v7 Módulo de biblioteca de configuración de v7

  6. Dependencia del módulo de aplicación de configuración del módulo de biblioteca v7 Dependencia del módulo de aplicación de configuración del módulo de biblioteca v7

Usando Gradle

Si utiliza Gradle, puede agregarlo como una dependencia de compile .

Instrucciones

  1. Asegúrese de que tiene instalado el paquete SDK de Android Support Repository . Android Studio reconoce automáticamente este repositorio durante el proceso de compilación (no está seguro acerca de IntelliJ normal).

    Repositorio de soporte de Android

  2. Agregue la dependencia a {project}/build.gradle

     dependencies { compile 'com.android.support:appcompat-v7:+' } 
  3. Haga clic en el botón Sync Project with Gradle Files .

EDIT : Parece que estas mismas instrucciones están en la documentación en Adding libraries with resources -> Using Android Studio .

Uso de Maven

En primer lugar debes instalar las librerías de android en tu repositorio local de maven usando Maven Android SDK Deployer

Entonces usted puede agregar dependencia a su pom como esto:

  <dependency> <groupId>android.support</groupId> <artifactId>compatibility-v7-appcompat</artifactId> <version>${compatibility.version}</version> <type>apklib</type> </dependency> <dependency> <groupId>android.support</groupId> <artifactId>compatibility-v7-appcompat</artifactId> <version>${compatibility.version}</version> <type>jar</type> </dependency> 

Esta es mi solución:

  1. Copia y pega $ ANDROID_SDK / extras / android / support / v7 / appcompat en tu proyecto ROOT

  2. Abra "Estructura del proyecto" en Intellij, haga clic en "Módulos" en "Configuración del proyecto" y, a continuación, haga clic en "appcompat" -> "android".

  3. Haga clic en "YOUR-PROJECT_NAME" en "appcompat", quite "android-support-v4" y "android-support-v7-compat"; Asegúrese de que la casilla de verificación antes de "appcompat" está marcada. Y, haga clic en "ok" para cerrar el diálogo "Estructura del proyecto".

  4. Volver a la ventana principal, haga clic en "appcompat" -> "libs" en el área del proyecto de la parte superior izquierda. Haga clic con el botón derecho en "android-support-v4", seleccione menuitem "Añadir como biblioteca", cambie "Añadir al módulo" a "Su proyecto". Lo mismo con "android-support-v7-compat".

Después de hacer arriba, intellij debería ser capaz de encontrar correctamente los módulos android-support-XXXX.

¡Buena suerte!

Otra solución para maven (y una solución mejor, por lo menos para mí) es usar el repositorio maven incluido en el SDK android local. Para hacer esto, sólo tiene que añadir un nuevo repositorio en su pom apuntando al androide SDK local:

 <repository> <id>android-support</id> <url>file://${env.ANDROID_HOME}/extras/android/m2repository</url> </repository> 

Después de agregar este repositorio, puede agregar la dependencia estándar de Google de la siguiente manera:

 <dependency> <groupId>com.android.support</groupId> <artifactId>support-v13</artifactId> <version>${support-v13.version}</version> </dependency> <dependency> <groupId>com.android.support</groupId> <artifactId>appcompat-v7</artifactId> <version>${appcompat-v7.version}</version> <type>aar</type> </dependency> 

Como proyecto de biblioteca

Debe agregar los recursos en un proyecto de biblioteca según http://developer.android.com/tools/support-library/setup.html

Sección> Adición de bibliotecas con recursos

A continuación, agregue la biblioteca android-support-v7-appcompat en su área de trabajo y luego agréguela como referencia al proyecto de su aplicación.

Definir todos los recursos en el proyecto de la aplicación también funcionará (pero hay muchas definiciones que añadir y se han perdido algunos de ellos), y no es el enfoque recomendado.

Otra solución simple es pegar esta línea en el archivo build.gradle

 dependencies { //import of gridlayout compile 'com.android.support:gridlayout-v7:19.0.0' compile 'com.android.support:appcompat-v7:+' } 

Esta es mi solución, es muy similar a la anterior:

 <dependency> <groupId>com.google.android</groupId> <artifactId>support-v7</artifactId> <scope>system</scope> <systemPath>${android.home}/support/v7/appcompat/libs/android-support-v7-appcompat.jar</systemPath> <version>19.0.1</version> </dependency> 

Donde {android.home} es el directorio raíz del SDK de Android y utiliza systemPath en lugar de repositorio .

  • Genymotion 2.7.2 no puede comenzar después de la actualización
  • ¿Cómo obtener tipos de parámetros de métodos en plantillas en vivo en Intellij IDEA?
  • Android Anotaciones: Clase anotada Xyz_ no encontrando su original ("no se puede encontrar la clase de símbolo Xyz")
  • Desarrollo de Android en IntelliJ IDEA hace que la computadora se congele
  • Android Studio: Crea un punto de interrupción de excepción bien comportado
  • No se puede determinar la raíz de almacenamiento de datos de construcción para el error de proyecto IntelliJ Android
  • Android Studio: Cómo elegir qué importar de VCS
  • Android Hello-World compilación error: Intellij no puede encontrar aapt
  • Android Studio 2.0 inicia APK en otro dispositivo
  • Error de instrumentación con pruebas RoboElectric 2 en IntelliJ
  • AVD no es válido. La configuración ha cambiado desde la creación de AVD en Intellij IDEA 13
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.