2012-09-03 12 views
11

estoy recibiendo este error en un nuevo proyecto basado en OpenGL ES 10:No se puede resolver la superclase de la Actividad

09-03 12:44:07.870: W/dalvikvm(599): Unable to resolve superclass of Lcom/example/basicgl10test/MainActivity; (416) 
    09-03 12:44:07.870: W/dalvikvm(599): Link of class 'Lcom/example/basicgl10test/MainActivity;' failed 
    09-03 12:44:07.870: D/AndroidRuntime(599): Shutting down VM 
    09-03 12:44:07.910: W/dalvikvm(599): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 
    09-03 12:44:07.920: I/dalvikvm(599): Wrote stack traces to '/data/anr/traces.txt' 
    09-03 12:44:07.980: E/AndroidRuntime(599): FATAL EXCEPTION: main 
    09-03 12:44:07.980: E/AndroidRuntime(599): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.basicgl10test/com.example.basicgl10test.MainActivity}: java.lang.ClassNotFoundException: com.example.basicgl10test.MainActivity 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.ActivityThread.access$600(ActivityThread.java:123) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.os.Handler.dispatchMessage(Handler.java:99) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.os.Looper.loop(Looper.java:137) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.ActivityThread.main(ActivityThread.java:4424) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at java.lang.reflect.Method.invokeNative(Native Method) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at java.lang.reflect.Method.invoke(Method.java:511) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at dalvik.system.NativeStart.main(Native Method) 
    09-03 12:44:07.980: E/AndroidRuntime(599): Caused by: java.lang.ClassNotFoundException: com.example.basicgl10test.MainActivity 
    09-03 12:44:07.980: E/AndroidRuntime(599): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.Instrumentation.newActivity(Instrumentation.java:1023) 
    09-03 12:44:07.980: E/AndroidRuntime(599): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871) 
    09-03 12:44:07.980: E/AndroidRuntime(599): ... 11 more 
    09-03 12:44:08.061: W/ActivityManager(92): Force finishing activity com.example.basicgl10test/.MainActivity 

mi clase de actividad es la siguiente:

package com.example.basicgl10test; 
    import com.example.gl10gameadvlib.GL10GameActivity; 
    import com.example.gl10gameadvlib.Screen; 
    public class MainActivity extends GL10GameActivity { 

La actividad de los padres es como esto en otro paquete:

package com.example.gl10gameadvlib; 
    import javax.microedition.khronos.egl.EGLConfig; 
    import javax.microedition.khronos.opengles.GL10; 
    public abstract class GL10GameActivity extends Activity { 

No hay errores durante la compilación. He recreado un proyecto nuevo, clean + build también, pero el problema persiste.

Estoy usando Eclipse IDE con Android 4.0 Emulator. El problema permanece con cualquier emulador o dispositivo real.

Gracias Souvik

+1

¿Dónde pones el frasco que contiene la clase 'GL10GameActivity'? – fiddler

+0

¿Ha configurado su actividad en el archivo de manifiesto de Android? –

+0

Simplemente pruebe [this] (http://stackoverflow.com/a/11824038/940096) – Praveenkumar

Respuesta

0

Si está utilizando algunas bibliotecas externas, a excepción de su vinculación dentro de Eclipse, no se olvide de poner en carpeta "libs" en la aplicación. Debería estar cerca de/src,/res y etc. Simplemente /libs/yourLibrary.jar.

Le dirá al compilador (no exactamente) que incluya esta biblioteca en su APK.

3

Para asegurarse de que su frasco es en realidad exportó en construcción, se deberá:

  • ponerlo en la carpeta libs
  • o llene la casilla correspondiente a su frasco en las propiedades del proyecto> ruta de compilación de Java> Pestaña Ordenar y exportar
0

En realidad, la biblioteca que estoy importando también es un proyecto de Android y la he definido como una biblioteca. En otros proyectos, está funcionando de la misma manera.

Mi manifiesto es como en:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.basicgl10test" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

    <!-- Only Single Touch and OpenGLES less than 2.0 versions used by default --> 
    <!-- We will use both multi and single touch handlers by using a class based SDK Version qualifier --> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

</manifest> 
0

tengo el mismo problema. Lo que he hecho es:

  1. Configure Build Path.
  2. Elija Ordenar y Exportar pestaña,
  3. Seleccione toda la ruta listada o archivo JAR.
  4. Y Pruébalo!

Buena suerte.

63

me enfrentaba a este problema Justo después GOOGLE IO 2013 cuando me actualizado mi complemento ADT, herramientas de SDK de Android a revisión 22 y SDK de Android plataforma de herramientas para la revisión 17

Todos los de mi los proyectos que anteriormente funcionaban comenzaron a lanzar ClassNotFoundException después de la actualización sin ningún motivo. Luego noté que hay un nuevo paquete de Android llamado Librerías privadas de Android y después de horas de intentarlo encontré la manera de solucionarlo.

clic derecho sobre el proyecto y luego

Goto Construir Path-> Configurar Build Path -> Orden y exportación

cuando estás allí usted debe comprobar las Android privadas Bibliotecas y haga clic en OK .

si aún tiene el problema, elimine todos los archivos dentro de su carpeta bin y reconstruya su proyecto.

Espero que esto resuelva tu problema

+4

¡Gracias mil millones de veces! Yo tenía este mismo problema después de la actualización de SDK después de I/O 2013. –

+0

@Joram Teusink Me alegro de ayudar –

+1

Muchas gracias, solo perdí 3 horas tratando de descubrir que wtf está sucediendo antes de tropezar con su publicación. – Tony

Cuestiones relacionadas