the - import android
¿Cómo agrego una biblioteca(android-support-v7-appcompat) en IntelliJ IDEA? (8)
Creé un proyecto, copié los archivos de recursos en el proyecto, la biblioteca, lo agregué a la estructura del proyecto, prescribí el estilo Theme.AppCompat
. Compilado sin errores, pero cuando inicia la excepción de descenso:
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.
Como un 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> Agregar 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 su proyecto de aplicación también funcionará (pero hay muchas definiciones para agregar y ha omitido algunas), y no es el enfoque recomendado.
Sin Gradle ( haga clic aquí para la solución de Gradle )
Importe su proyecto de biblioteca a Intellij desde el proyecto Eclipse (este paso solo se aplica si creó su biblioteca en Eclipse).
Haga clic derecho en el módulo y elija Abrir configuración del módulo.
Configurar bibliotecas de archivo jar v7
Módulo de biblioteca de configuración de v7
Configurar la dependencia del módulo de la aplicación del módulo de biblioteca v7
Usando Gradle
Si está utilizando Gradle, puede agregarlo como una dependencia de compile
.
Instrucciones
Asegúrese de tener 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 simple).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
.
EDITAR : Parece que estas mismas instrucciones se encuentran en la documentación en Adding libraries with resources -> Using Android Studio
.
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 de Android SDK y usa systemPath en lugar de repositorio .
Esta es mi solución:
Copie y pegue $ ANDROID_SDK / extras / android / support / v7 / appcompat en su proyecto ROOT
Abra "Estructura del proyecto" en Intellij, haga clic en "Módulos" en "Configuración del proyecto", luego haga clic en "appcompat" -> "android", asegúrese de que la casilla "Módulo de biblioteca" esté marcada.
haga clic en "YOUR-PROJECT_NAME" en "appcompat", elimine "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 "Aceptar" para cerrar el diálogo "Estructura del proyecto".
de vuelta a la ventana principal, haga clic en "appcompat" -> "libs" en el área superior del proyecto. Haga clic derecho en "android-support-v4", seleccione menuitem "Agregar como biblioteca", cambie "Agregar al módulo" a "Su-proyecto". Lo mismo con "android-support-v7-compat".
Después de hacer lo anterior, intellij debería ser capaz de encontrar correctamente los módulos android-support-XXXX.
¡Buena suerte!
Otra solución aún simple es pegar estas líneas en el archivo build.gradle
dependencies {
//import of gridlayout
compile ''com.android.support:gridlayout-v7:19.0.0''
compile ''com.android.support:appcompat-v7:+''
}
Otra solución para maven (y una mejor solución, al menos para mí) es usar el repositorio maven incluido en el SDK local de Android. Para hacer esto, simplemente agrega un nuevo repositorio en tu pom apuntando al SDK local de Android:
<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 esta 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>
Usando Maven
En primer lugar, debe instalar las bibliotecas de Android en su repositorio maven local utilizando Maven Android SDK Deployer.
Entonces puede agregar dependencia a su pom de esta manera:
<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>