Soy nuevo en el desarrollo de Android y tengo un problema al usar AndEngine. Estoy tratando de ejecutar una aplicación vacía pero conseguir un error de ejecución de la siguiente manera:AndEngine: no se pudo crear una instancia de la actividad
04-01 21:56:16.326: W/dalvikvm(280): Unable to resolve superclass of Lcom/MyApps/TestApp/TestAppActivity; (31)
04-01 21:56:16.326: W/dalvikvm(280): Link of class 'Lcom/MyApps/TestApp/TestAppActivity;' failed
04-01 21:56:16.336: D/AndroidRuntime(280): Shutting down VM
04-01 21:56:16.336: W/dalvikvm(280): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-01 21:56:16.376: E/AndroidRuntime(280): FATAL EXCEPTION: main
04-01 21:56:16.376: E/AndroidRuntime(280): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.MyApps.TestApp/com.MyApps.TestApp.TestAppActivity}: java.lang.ClassNotFoundException: com.MyApps.TestApp.TestAppActivity in loader dalvik.system.PathClassLoader[/data/app/com.MyApps.TestApp-1.apk]
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.os.Looper.loop(Looper.java:123)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.main(ActivityThread.java:4627)
04-01 21:56:16.376: E/AndroidRuntime(280): at java.lang.reflect.Method.invokeNative(Native Method)
04-01 21:56:16.376: E/AndroidRuntime(280): at java.lang.reflect.Method.invoke(Method.java:521)
04-01 21:56:16.376: E/AndroidRuntime(280): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-01 21:56:16.376: E/AndroidRuntime(280): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-01 21:56:16.376: E/AndroidRuntime(280): at dalvik.system.NativeStart.main(Native Method)
04-01 21:56:16.376: E/AndroidRuntime(280): Caused by: java.lang.ClassNotFoundException: com.MyApps.TestApp.TestAppActivity in loader dalvik.system.PathClassLoader[/data/app/com.MyApps.TestApp-1.apk]
04-01 21:56:16.376: E/AndroidRuntime(280): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
04-01 21:56:16.376: E/AndroidRuntime(280): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
04-01 21:56:16.376: E/AndroidRuntime(280): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
04-01 21:56:16.376: E/AndroidRuntime(280): ... 11 more
El evidentes usadas:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MyApps.TestApp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TestAppActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
He intentado poner todo el nombre del paquete en lugar de .TestAppActivity pero sin ninguna suerte. Sin embargo, cuando extendí TestAppActivity desde Activity en lugar de BaseGameActivity funcionó.
Cualquier ayuda se agradece, Sami
Muchas gracias. Problema resuelto. Solo lo agregué a classpath – Sami
Después de actualizar ADT a la versión más reciente en el momento en que descubrí el mismo problema. Tenía andengine.jar en la carpeta lib, agregué a las bibliotecas referenciadas y funcionó hasta ahora. Ahora, tuve que cambiar lib a libs. ¿Realmente tienen que lanzar un nuevo SDK cada 5 minutos? ¿No pueden crear UN ambiente estable? – Yar
Personalmente, me resulta mucho más fácil simplemente hacer referencia al proyecto AndEngine en lugar de copiar y pegar el archivo .jar en el directorio libs. Esto se hace a través de Propiedades -> Android y luego hace referencia a los proyectos de AndEngine como bibliotecas. – Dan