Android 无法解析活动的超类
我在一个基于OpenGL ES 10的新项目中遇到此错误:Android 无法解析活动的超类,android,android-activity,Android,Android Activity,我在一个基于OpenGL ES 10的新项目中遇到此错误: 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: 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
我的活动课是这样的:
package com.example.basicgl10test;
import com.example.gl10gameadvlib.GL10GameActivity;
import com.example.gl10gameadvlib.Screen;
public class MainActivity extends GL10GameActivity {
在另一个包中,父活动与此类似:
package com.example.gl10gameadvlib;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
public abstract class GL10GameActivity extends Activity {
生成期间没有错误。我已经重新创建了一个新项目,也就是clean+build,但问题仍然存在
我正在使用带有Android 4.0模拟器的Eclipse IDE。任何模拟器或真实设备都会出现问题
谢谢
Souvik如果您正在使用一些外部库,除了在Eclipse中链接它之外,不要忘记将它们放在应用程序的“libs”文件夹中。它应该靠近/src、/res等。只需/libs/yourLibrary.jar
它会告诉编译器(不是确切地说)将这个库包含到APK中。要确保您的jar在构建时实际导出,您应该:
- 将其放入
文件夹中libs
- 或者在“项目属性”>“Java构建路径”>“订单和导出”选项卡中填写与您的jar对应的复选框
<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>
我也有同样的问题。
我所做的是:
祝你好运。我在谷歌IO 2013之后就面临了这个问题 当我更新我的ADT插件时,Android SDK工具更新为22版 以及第17版Android SDK平台工具 我以前工作过的所有项目都在更新后无缘无故地抛出ClassNotFoundException。 然后我注意到有一个新的安卓软件包,名为安卓私有库,经过几个小时的尝试,我找到了一种解决方法 然后右键单击您的项目 转到生成路径->配置生成路径->订购并导出 当您在那里时,您应该检查Android私有库,然后单击确定 如果您仍然面临此问题,请删除bin文件夹中的所有文件并重建项目
希望这能解决您的问题您将包含
GL10GameActivity
类的jar放在哪里了?您在android清单文件中配置了您的活动了吗?请尝试10亿次!2013年I/O之后,SDK升级后,我也遇到了同样的问题。@Joram Teusink很高兴为您提供帮助。非常感谢,在无意中看到您的帖子之前,我花了3个小时试图弄清楚wtf正在进行什么。非常感谢。我花了半天时间研究为什么我所有的应用程序都停止工作了。谢谢!你也救了我!