Intenté ejecutar un código de muestra Al iniciar la aplicación en el emulador de Android 1.5, obtuve estos errores ... ¿Alguien tiene alguna pista ...?
ERROR de LogCat:
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): FATAL EXCEPTION: main
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.s.android.test/com.s.android.test.MainActivity}: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Looper.loop(Looper.java:123)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.main(ActivityThread.java:3647)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invokeNative(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invoke(Method.java:507)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at dalvik.system.NativeStart.main(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): Caused by: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): ... 11 more
01-13 02:28:08.407: WARN/ActivityManager(112): Force finishing activity com.s.android.test/.MainActivity
Editar Este error le sucede a la mayoría de los principiantes, lo importante es que debe agregar todas sus actividades en el archivo de Manifiesto.
android
fatal-error
rahul
fuente
fuente
Respuestas:
Es un problema de su intención.
Por favor agregue su
Activity
en suAndroidManifest.xml
.Cuando desee realizar una nueva actividad, debe registrarla en su
AndroidManifest.xml
.fuente
abstract
(cometí ese error durante la refactorización y el mensaje de error no está ayudando mucho).Es posible que esté intentando encontrar la vista anterior,
onCreate()
que es incorrecta.fuente
Hay otra forma de obtener una excepción java.lang.RuntimeException: no se puede instanciar la actividad ComponentInfo excepción y esa es la actividad que está intentando iniciar es abstracta . Cometí este estúpido error una vez y es muy fácil pasarlo por alto.
fuente
En mi caso, olvidé agregar la biblioteca de Google Maps
Además, compruebe que no le falta el punto anterior antes de la ruta de actividad
fuente
También sucede debido a este problema. Desmarqué los frascos que debían exportarse al apk y sucedió lo mismo. Marque los frascos que su aplicación necesita ejecutarse.
fuente
También encontré este problema, pero de una manera ligeramente diferente. Aquí estaba mi escenario:
Detalle de la aplicación:
<uses-library android:name="com.google.android.maps" />
en los manifiestos tanto del proyecto de la biblioteca como de mi proyecto principal (¿esto puede no ser necesario en la biblioteca?)Sin embargo, todavía encontré el error descrito en la publicación original y no pude evitar que desapareciera. Sin embargo, el problema era ligeramente diferente en un aspecto:
Cómo lo arreglé:
Este paso solo no solucionó el problema
Una vez que el jar se agregó a la ruta de compilación, tuve que cambiar el orden en la pestaña Ruta de compilación de Java> Orden y exportación: configuré el JAR en el primer elemento de la lista (fue el último después de los elementos / src y / gen )
Luego reconstruí y volví a implementar la aplicación en mi dispositivo; funcionó como se esperaba en una nueva instalación. Solo para estar seguro, lo desinstalé nuevamente 2-3 veces y lo reinstalé, aún funcionó como se esperaba.
Esto puede ser un error total de novato, pero pasé bastante tiempo investigando las publicaciones y mi código para resolverlo, por lo que espero que pueda ser útil para otra persona. Puede que no solucione todas las situaciones, pero en este caso particular, eso terminó siendo la solución a mi problema.
fuente
Esto podría no ser relevante para la pregunta real, pero en mi caso, intenté implementar Kotlin y me quedé fuera
apply plugin: 'kotlin-android'
. El error ocurrió porque no pudo reconocer MainActivity como un archivo .kt.Espero que ayude a alguien.
fuente
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION
en build.gradle principalEste error también puede ser el último signo de un error tonto (como cuando quiero decir tos, como cuando un amigo mío que me mostró su código una vez) donde intentan ejecutar código fuera de un método como intentar hacer esto :
En vez de esto:
fuente
Eliminé este problema eliminando la carpeta
Bin
yGen
del proyecto (que vuelve automáticamente cuando se construirá el proyecto) y luego limpiando el proyecto de -> Menú -> Proyecto -> limpiar.Gracias.
fuente
En mi caso no he configurado el
setContentView(R.layout.main);
Si crea una nueva clase, no olvide establecer esto en el
onCreate(Bundle savedInstanceState)
método.He cometido este estúpido error varias veces.
fuente
Simplemente limpie su proyecto de trabajo o reinicie eclipse. Luego ejecuta tu proyecto. funcionará.
fuente
Para mí, la cadena de mi paquete
AndroidManifest.xml
era incorrecta (copiada de un tutorial). Asegúrese de que la cadena del paquete en este archivo sea la misma que donde se encuentra su actividad principal, por ej.Una manera fácil de hacerlo es abrir el archivo AndroidManifest.xml en la pestaña "Manifiesto" y escribirlo en el cuadro de texto junto a Paquete, o usar el botón Examinar.
Además, la cadena del paquete para mi actividad era incorrecta, p. Ej.
(Estúpidamente) recibí el mismo error semanas después cuando cambié el nombre de mi paquete. Si hace esto, asegúrese de actualizar también el
AndroidManifest.xml
archivo.fuente
Ok, tengo bastante experiencia en el iPhone pero soy nuevo en Android. Recibí este problema cuando tenía:
esta línea de código anterior:
Puede ser que estoy privado de sueño: P
fuente
Recientemente encontré esto con una nueva reinstalación de Eclipse. Resulta que el nivel de cumplimiento de mi compilador se estableció en Java 1.7 y el proyecto requirió 1.6.
En Eclipse: Proyecto -> Propiedades -> Compilador Java -> Cumplimiento JDK
fuente
Tengo este problema y lo solucionó configurando la propiedad "modo de lanzamiento" de la actividad.
fuente
Otra razón de este problema puede ser una biblioteca que falta.
Vaya a Propiedades -> Android y compruebe que agrega las bibliotecas correctamente
fuente
Tuve el mismo problema, pero tenía mi actividad declarada en el archivo Manifiesto, con el nombre correcto.
Mi problema era que no tenía que importar bibliotecas de terceros en una carpeta "libs", y necesitaba hacer referencia a ellas en mi proyecto (clic derecho, propiedades, Java Build Path, bibliotecas, agregar jar ...).
fuente
Esto puede suceder si su clase de actividad está dentro de un paquete predeterminado. Lo arreglé moviendo la clase de actividad a un nuevo paquete. y cambiando el manifest.xml
antes de
después
fuente
En mi caso, estaba tratando de inicializar los componentes (UI) incluso antes de que
onCreate
se llamara a la Actividad.Asegúrese de que sus componentes de la interfaz de usuario estén inicializados / vinculados en el
onCreate
método después desetContentView
NB: este es mi primer error al aprender la programación de Android.
fuente
Para mí fue diferente de cualquiera de los anteriores,
La actividad se declaró como abstracta, por eso se da el error. Una vez que lo eliminó, funcionó.
Más temprano
Después de la eliminación
fuente
Esto me sucede con bastante frecuencia cuando uso el NDK. Descubrí que es necesario para mí hacer un "Clean" en Eclipse después de cada vez que hago un
ndk-build
. Espero que ayude a cualquiera :)fuente
Este error también ocurre cuando usa
ActionBarActivity
pero no le asignaAppCompat
estilo.Para solucionar esto, simplemente configure el estilo principal de sus aplicaciones en
Theme.AppCompat
uno como este:fuente
Haga clic derecho en proyecto> propiedades> android> e intente con una versión diferente del androide anterior que estaba haciendo con android 4.4, luego cambié a android 4.3 y funcionó.
fuente
Tuve el mismo problema (no se puede crear una instancia de actividad):
PRIMERA razón:
Estaba accediendo
antes de
Entonces, la forma correcta de hacerlo es abrir primero la cámara y luego acceder a los parámetros.
SEGUNDA razón: declara tu actividad en el archivo de manifiesto
TERCERA razón: declara el permiso de la cámara en tu archivo de manifiesto.
Espero que esto ayude
fuente
En mi caso, estaba tratando de incrustar el SDK de Facebook y tenía la ID de aplicación incorrecta ; Por lo tanto, el error estaba apareciendo. En su archivo de manifiesto, debe tener los metadatos adecuados:
fuente
Si tiene Android Studio 2.3.3 y Android Studio 3.0.0 instalados, entonces el cambio entre los dos programas para el desarrollo causará este error. Esto se debe a que existen situaciones en las que las clases admitidas en un programa no son compatibles con el otro y viceversa. Es importante mantener la coherencia en la versión de Android Studio que se utiliza para desarrollar un proyecto.
fuente
Como se sugiere
djjeck
en el comentario en esta respuesta, no puse elpublic
modificador para mi clase.Debería ser
Puede ayudar a algunos como yo.
fuente
He intentado toda la solución anterior pero nada funciona para mí. después de que acabo de agregar
extend
actividad en lugar deAppCompatActivity
trabajar bien.usado
en vez de
No sé qué problema real fue eso.
fuente
Esto me sucedió cuando intenté ejecutar un
Activity
2.2 que usaba importaciones de Honeycomb que no estaban disponibles en versiones anteriores de Android y que tampoco estaban incluidas en el paquete de soporte de v4.fuente
Su nueva actividad agregar
AndroidManifest.xml
como".NewActivity"
fuente