android - mac - No se puede crear una instancia de la actividad ComponentInfo
eclipse photon android sdk (12)
Estoy desarrollando una aplicación para Froyo como versión mínima y Gingerbread como la versión de destino. Entonces, el manifiesto muestra:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>
Tengo un emulador y un Nexus One con Gingerbread, y la aplicación se implementa e instala correctamente. Pero cuando comienza, se bloquea y el error arrojado en el registro es:
09-18 06:35:11.240: ERROR/AndroidRuntime(382): FATAL EXCEPTION: main
09-18 06:35:11.240: ERROR/AndroidRuntime(382): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.package/com.my.package.Dashboard}: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.os.Looper.loop(Looper.java:130)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.main(ActivityThread.java:3683)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.reflect.Method.invokeNative(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.reflect.Method.invoke(Method.java:507)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at dalvik.system.NativeStart.main(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): Caused by: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): ... 11 more
Y sí, la actividad "Tablero de instrumentos" se declara en el Manifiesto:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.package"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto">
<activity android:name=".Dashboard"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
...
Entonces, ¿con qué puede estar relacionado este problema? Esto me está volviendo loco.
Encontré esta publicación teniendo una pregunta similar y muchas soluciones posibles diferentes. Sin embargo, en mi caso, el problema estaba en la configuración de mi proyecto Android. De alguna manera, la ruta de compilación de Java de mi proyecto no estaba vinculada a la carpeta de origen. Y es por eso que mi archivo manifest no pudo encontrar la clase de actividad. Resolví este problema al vincular la carpeta src. Para hacerlo, haga clic derecho en el proyecto "propiedades" -> "Java Build Path". Luego seleccione la pestaña "Fuente". Compruebe si su carpeta src se encuentra aquí. Si no, haga clic en "Agregar carpeta ..." y luego navegue a su carpeta src del proyecto.
Estaba teniendo el mismo problema pero tenía todo definido correctamente. Tomé otra copia del mismo proyecto de mi SVN y recibí este error en el segundo proyecto. Reinicie Eclipse: esto actualizará la memoria de eclipse. Funcionó para mí
Finalmente lo resolví haciendo dos android-support-v4.jar lo mismo ... simplemente copie cualquiera de los android-support-v4.jar en cualquiera de los proyectos relacionados con su proyecto y reemplácelos ...
usando agregar esto a su manifiesto de Android
<uses-library android:name="com.google.android.maps" />
Hoy tuve el mismo problema y fue un problema con el nombre de la clase principal. Era IdleActivity y tan pronto como lo cambié configurando IdleDnaActivity , la aplicación comenzó exitosamente.
Mi solución fue en Proyecto -> Propiedades -> Ruta de compilación de Java -> Ordenar y exportar, debe marcar las entradas que usa. PERO también experimenté si marques a Android.jar, dice "La conversión al formato de Dalvik falló con el error 1"
También eliminar todas sus bibliotecas, excepto Android.xx y luego limpiar su proyecto por Proyecto -> Limpiar y luego volver a agregar sus bibliotecas (no olvide marcar y exportar) puede resolver la "Conversión a formato Dalvik falló con error 1 cosa.
Y un lugar más que debe verificar es Propiedades -> Compilador Java -> Cumplimiento JDK.
Para el registro, otra razón simple que puede causar esto, que puede haberse pasado por alto al iniciar un proyecto, es que la actividad que desea iniciar puede no tener una Actividad extendida o ser una clase vacía, etc.
Para mí, como lo fue durante una actualización de phonegap (de 1.4 a 1.8.1). Tuve que actualizar el archivo .project en el proyecto raíz. Creo un nuevo proyecto y comparo el nuevo archivo con el anterior.
Puede corregir este error corrigiendo el nombre de la clase de su actividad en su archivo de manifiesto
Resolví mi problema al consultar las bibliotecas privadas de Android y las dependencias de Android en Orden y exportación en la ruta de compilación de Java
Resultó que a los archivos del proyecto les faltaban algunos de los constructores necesarios para que la aplicación se realizara correctamente. Es por eso que no fue capaz de encontrar la clase del Tablero.
La solución es crear un proyecto de Android vacío y comparar los archivos .project y .properties generados automáticamente con los de tu proyecto roto.
Solucioné este problema fácilmente restaurando las propiedades del proyecto:
- Haz clic derecho en tu proyecto
- Herramientas de Android
- Repara las propiedades del proyecto
¡Entonces tus dependencias serán restauradas como nuevas y todo estará bien!
Tuve este problema también desarrollando en Eclipse 4.2. Mi actividad principal fue referenciada por el archivo AndroidManifest.xml, incluido el paquete y el nombre correctos, pero aún no se pudo cargar. Después de un poco de depurar y comentar las cosas, descubrí que la causa del problema era una interfaz que estaba implementando mi actividad principal. Esta interfaz se define en un proyecto separado , pero no pude hacer referencia a ese proyecto en la ruta de compilación de Java . Entonces, cuando construí cosas, se construirían correctamente, pero inmediatamente me encontraría con una fuerza cerrada cuando lancé, con el mismo error que esta pregunta.
Para corregir esto, hice clic derecho en el proyecto de Android, seleccioné Java Build Path , agregué mi proyecto de ''código común'' a la pestaña Proyectos y luego marqué la casilla para ese mismo proyecto en la pestaña Ordenar y Exportar . Después de eso, todo funcionó.