10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.NativeStart.main(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
10-22 15:29:40.897: E/AndroidRuntime(2561): ... 11 more
No estoy realmente seguro de qué lo está causando, ya que se enumera correctamente en el manifiesto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gvg.simid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.usb.host" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.gvg.simid.Login"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
También agregué "Bibliotecas privadas de Android" para crear la ruta y la moví a la parte superior de "Ordenar y exportar", pero aún así me dio el mismo error.
EDITAR: reconstruí el proyecto por completo y no pude reproducir el error. No estoy seguro de qué lo estaba causando.
Respuestas:
Tuve el mismo problema para mi proyecto. Ocurrió debido al conflicto en la versión de la biblioteca de soporte de Android entre mi proyecto y el proyecto de la biblioteca que agregué en mi proyecto. Coloque la misma versión de la biblioteca de soporte de Android en su proyecto y los proyectos de biblioteca que incluyó y compile limpio ... Todo funcionará ...
fuente
Este siguiente método funcionó para mí
project
y seleccioneproperties
Java Build Path
->Order and Export
"Android Dependencies"
clean your project
y correfuente
project
? Qué significa eso?Para aquellos de ustedes que están teniendo este problema en Android de estudio, que tenía el mismo problema después de una fusión y por alguna razón que sea aún persistió después
clean
yinvalidate cash/restart
operaciones que me estaba volviendo loca.Resulta que se puede solucionar ejecutando gradle build una vez desde la línea de comandos. Simplemente ejecute lo siguiente en el directorio del proyecto:
Espero que le ahorre a alguien la pérdida de tiempo y la frustración por la que tuve que pasar.
fuente
Tuve el mismo problema, esto funcionó para mí
1) Ruta completa de actividad en mainfest en lugar de ruta relativa.
2) Elimine la carpeta 'build' y limpie el proyecto.
fuente
Si está utilizando Eclipse, intente Proyecto -> Limpiar
fuente
Si agregó un nuevo
Library Project
módulo a su proyecto de Android y lo está usandoKotlin
en su biblioteca , no olvide agregaral principio del archivo Gradle de su módulo. Android Studio no agrega esta línea cuando creó un nuevo módulo y esto puede desperdiciar sus horas como yo.
Editar: Después de un tiempo, luché con este problema nuevamente y esta vez olvidé agregar mi módulo como una dependencia del proyecto. :)
fuente
Esto sucede si cambiamos Build Path de la APP, esto puede ser en cualquier caso Agregar o Eliminar o Cambiar Bibliotecas o archivo .jar. La mejor solución es reiniciar el Eclipse.
fuente
Si recibe este error mientras usa la nueva función Instant Run en Android Studio 2.0 y superior, entonces se trata de algún tipo de error de su lado.
Para solucionar este problema, tendrá que detener su aplicación manualmente en el dispositivo / emulador si no se detiene, luego seleccione desde Android Studio Build→Rebuild Project.
Luego haga clic en el botón Ejecutar o MAYÚS + F10
fuente
Para cualquiera que tenga habilitado multidex, escriba esto
dentro de build.gradle
escribe una clase
EnableMultiDex
como a continuacióny
AndroidManifest.xml
escriba este className dentro de la etiqueta de la aplicaciónfuente
MultiDexApplication
clase en lugar deApplication
.MultiDexApplication
y la excepción desapareció en Android 4.4.Si está utilizando Multidex en Android 4.4 y versiones anteriores, su problema podría ser que su clase de actividad esté ubicada en el segundo archivo dex y, por lo tanto, no la encuentre el sistema Android.
Para mantener su clase de actividad en el archivo dex principal, consulte esta página:
https://developer.android.com/studio/build/multidex.html#keep
Para encontrar qué clases se encuentran en un archivo dex, use Android Studio .
Simplemente arrastre y suelte su apk en Android Studio. Debería poder ver sus archivos dex en el explorador de apk.
Luego, seleccione el archivo dex para ver qué clases hay dentro.
otra alternativa es dexdump:
Puede verificar el contenido de sus archivos dex contenidos en su apk usando el comando dexdump que se puede encontrar en
Para los usuarios de Windows, vea esta herramienta que hice para facilitar el proceso
fuente
En mi caso, fue el proceso de minificación de proguard el que eliminó algunas clases importantes de mi apk de producción.
La solución fue editar el archivo proguard-rules.pro y agregar lo siguiente:
fuente
1) Cree la carpeta libs en la raíz del proyecto
2) Copie y pegue el archivo jar en él
3) Configure la ruta de compilación (Agregar jar)
4) Limpie y ejecute
cheers :-)
fuente
Créame o no ... Probé casi todas las respuestas que había encontrado aquí en stackoverflow. Nada ayudaría, hasta que reinicié la máquina. Mi Android Studio funciona en Ubuntu 16.04 LTS.
fuente
Enfrenté este error una vez cuando definí una clase que extendía una vista pero se refería a esta vista personalizada en el archivo de diseño con el nombre incorrecto. En lugar de
<com.example.customview/>
, lo había incluido<com.customview/>
en el archivo de diseño XML.fuente
Enfrenté el mismo problema y lo resolví haciendo lo siguiente:
En el menú de construcción, seleccione
1- Proyecto limpio.
2- Construye APK.
fuente
Encontré el mismo problema y me di cuenta de que el código de muestra estaba en el directorio "java" en lugar del directorio "src". Después de mover el código a src, se solucionó el problema.
También asegúrese de que el directorio de la aplicación esté dividido en varias carpetas. p.ej
/main/com/site/appname/
no/main/com.site.appname/
Espero que funcione ~
fuente
Enfrento el mismo problema, y después de mucho trabajo y búsqueda, descubrí la solución: simplemente limpié el proyecto y luego construí la apk. -Build-> Clean Project -Build-> Build APK (s) Espero que sea útil .....
fuente
Tuve este problema recientemente y estoy usando Android Studio 0.8.4
El problema fue el hecho de que decidí cambiar el nombre de un archivo de diseño de menú XML que se llamó main.xml.
Haga clic derecho sobre él y elija Refactor -> Cambiar nombre . Antes de cambiarle el nombre, asegúrese de desmarcar "Buscar en comentarios y cadenas" y presione Refactor .
Debido a que mi archivo originalmente se llamaba 'principal' , cambió el nombre de las rutas críticas en app.iml y build.gradle, principalmente java.srcDirs en build.gradle, ya que la ruta se define como
'src/main/java'
.Espero que esto ayude a cualquiera que pueda estar experimentando este problema.
fuente
Tuve este problema después de actualizar desde la versión 18. Después de la actualización tuve lo siguiente: Project Build Target era 5.01, targetSDKVersion = 21
Pero: herramientas de compilación aún eran de Android 4.3.1 (18) Lo que noté fue que las aplicaciones que derivaban sus actividades de ActionBarActivity se bloquearon con el error anterior y las que aún no se ejecutaron.
Entonces, la solución simple fue usar las últimas herramientas de compilación del SDK de Android 21.1.2 lugar de solo las de las herramientas de compilación de SDK de Android 18, que de alguna manera parecen ser las predeterminadas.
Entonces, el culpable parece la biblioteca Appcompat, que utilizo para la compatibilidad con versiones anteriores de Actionbar.
Y, por cierto : usando la biblioteca appcompat tuve que configurar / arreglar:
$SDKInstallDIR$\Android\android-sdk\extras\android\support\v7\appcompat\project.properties target=android-21
(que se recomendó en alguna otra publicación útil y que tiene un valor de 19 por defecto))fuente
Tuve el mismo problema en Windows. Había cambiado el nombre de la ruta del proyecto a algo que contenía un espacio.
Asegúrese de que la ruta a su proyecto no contenga un espacio.
fuente
Solución mencionada aquí -> La solución Multidex Issue funcionó para mí. A continuación se muestra lo que se debe agregar al contexto de la aplicación:
fuente
Tuve este problema, planteado por varias causas, pero veo esto en su stacktrace "
**Unable to instantiate activity ComponentInfo{...}: java.lang.ClassNotFoundException: Didn't find class "..." on path: DexPathList[[**
", encontré una diferencia en mi.classpath
antes de que deje de funcionar.HE AÑADIDO la línea:
Esta es la versión final:
¡Ahora funciona! =)
fuente
Tuve exactamente el mismo problema. Como sugirió @weiweia, mover el código del directorio java a src funcionó para mí. También eliminé las Dependencias de Android de Proyecto -> Propiedades -> Ruta de compilación de Java -> Ordenar y exportar, y me aseguré de incluir solo los proyectos de biblioteca en la pantalla de Android.
fuente
Tuve este problema durante bastante tiempo y, como todos los demás, las respuestas anteriores no se aplicaron a mi proyecto.
En mi proyecto, había vinculado un proyecto a mi proyecto y arrojaba ClassDefNotFoundError cada vez que se ejecutaba algún código para el otro proyecto.
Entonces esta fue mi solución. Fui a las propiedades del proyecto de mi proyecto y Java Build Path. Presioné la pestaña "Fuente" y el "vínculo fuente" de la carpeta src del otro proyecto a mi propio proyecto y nombré una nueva carpeta "core-src".
Espera que esta solución ayude a alguien
fuente
Tuve el mismo problema. Estoy usando Xamarin.Android.
El problema en mi caso fue que cambié el versionCode y versionName.
No tuve ningún problema cuando los puse así:
El problema apareció cuando lo cambié a esto (versionCode 2 y versionName 0.0.1):
Solucioné el problema cambiando a versionCode 2 y versionName 1.0.0.1, así:
No estoy seguro de por qué esto fue un problema, tal vez a Android no le gusta un nombre de versión inferior con un código de versión superior
Encontré lo siguiente en http://developer.android.com/guide/topics/manifest/manifest-element.html#vname
fuente
En caso de que alguien se enfrente al mismo problema que yo y ninguna respuesta sugerida aquí ayude.
Para mí, la causa fue que la refactorización del estudio de Android tiene errores. Moví una clase interna fuera de una clase, que era una Vista y, por lo tanto, también tenía un xml, donde se estableció la ruta directa. ¡Este camino no será refactorizado por Studio! Y no se lanzará ningún error.
Espero que esto ayude a alguien. Salud.
fuente
En nuestro caso, queríamos compilar la versión de Vagrant y tuvimos el mismo error. Lo arreglamos por
clean project
yrebuild project
en el menú Construirfuente
Acabo de reiniciar el dispositivo y ejecutar la aplicación. Funcionó sin problemas. Espero que esto ayude a alguien :)
fuente
Encontré este error en Android Studio cuando intenté depurar en un dispositivo con API 23 , así que verifiqué Android Studio y noté que no había instalado esta versión de API 23 . Después de la instalación, resolví el problema.
fuente
Tuve este problema varias veces y, a menudo, no hice algo obviamente mal con las dependencias.
Siempre es una buena idea verificar si esta clase 'no encontrada' está presente en la apk final. Si es así, como sucedió en mis casos, el problema suele ser:
No es que no se encuentre la clase dada, pero no se puede cargar porque falta su superclase.
Verifique si la clase que extiende está disponible y luego intente arreglar su script de compilación o dependencias en consecuencia.
fuente