¿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.
- "Intellij idea" depurar la clase static
- Cómo agregar varios archivos de bibliotecas nativas (.so) en IntelliJ
- JavaPoet + Android Studio "addModifiers (Modifier) no se puede aplicar a Modificador"
- ¿Hay una manera de marcar TODO completo en el estudio de Android?
- Org.apache.commons.collections.BeanMap: no se puede encontrar la clase referenciada java.beans.Introspector
- Android Studio no puede autenticarse con SVN
- Problemas con Android Studio Gradle: Configuración de JDK de Gradle no válida encontrada
- Leer y actualizar los archivos de compilación de Gradle y las actividades de Android desde un complemento de Android Studio / IntelliJ
- Android: Adb rechazó la conexión al cliente
- ¿Cómo puedo importar una biblioteca de Android y usarla tanto en el código de producción como en las pruebas?
- Android Studio Logcat mejores prácticas de colores
- Intellij IDEA CE 12 Terminación de código XML de Android no funciona
- Android Studio / IntelliJ IDEA Horas de trabajo
Sin Gradle ( Haga clic aquí para la solución de Gradle )
-
Cree un proyecto de biblioteca de soporte .
-
Importe su proyecto de biblioteca a Intellij desde el proyecto Eclipse (este paso sólo se aplica si ha creado su biblioteca en Eclipse).
-
Haga clic con el botón derecho del ratón en el módulo y elija Abrir configuración de módulo.
-
Bibliotecas de configuración del archivo jar de v7
-
Módulo de biblioteca de configuración de 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
-
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). -
Agregue la dependencia a
{project}/build.gradle
dependencies { compile 'com.android.support:appcompat-v7:+' }
-
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:
-
Copia y pega $ ANDROID_SDK / extras / android / support / v7 / appcompat en tu proyecto ROOT
-
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".
-
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".
-
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 .
- Actualización de SDK de Android: "No se pudo mover una carpeta."
- Establecer el índice seleccionado de un grupo de radio Android