小弟最近在学SFS2X,加载android客户端的时候运行时出现如下问题。。验证manifest无误,sdk路径也没错,sdk已更新为最新,求救啊~~~05-22 07:04:02.251: E/AndroidRuntime(359): FATAL EXCEPTION: main
05-22 07:04:02.251: E/AndroidRuntime(359): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{sfs2x.example.android.tris/sfs2x.example.android.tris.Tris}: java.lang.ClassNotFoundException: sfs2x.example.android.tris.Tris in loader dalvik.system.PathClassLoader[/data/app/sfs2x.example.android.tris-1.apk]
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.os.Looper.loop(Looper.java:123)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.ActivityThread.main(ActivityThread.java:4627)
05-22 07:04:02.251: E/AndroidRuntime(359):  at java.lang.reflect.Method.invokeNative(Native Method)
05-22 07:04:02.251: E/AndroidRuntime(359):  at java.lang.reflect.Method.invoke(Method.java:521)
05-22 07:04:02.251: E/AndroidRuntime(359):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-22 07:04:02.251: E/AndroidRuntime(359):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-22 07:04:02.251: E/AndroidRuntime(359):  at dalvik.system.NativeStart.main(Native Method)
05-22 07:04:02.251: E/AndroidRuntime(359): Caused by: java.lang.ClassNotFoundException: sfs2x.example.android.tris.Tris in loader dalvik.system.PathClassLoader[/data/app/sfs2x.example.android.tris-1.apk]
05-22 07:04:02.251: E/AndroidRuntime(359):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
05-22 07:04:02.251: E/AndroidRuntime(359):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
05-22 07:04:02.251: E/AndroidRuntime(359):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-22 07:04:02.251: E/AndroidRuntime(359):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
05-22 07:04:02.251: E/AndroidRuntime(359):  ... 11 more

解决方案 »

  1.   

    Caused by: java.lang.ClassNotFoundException: sfs2x.example.android.tris.Tris in loader dalvik.system.PathClassLoader[/data/app/sfs2x.example.android.tris-1.apk]
    没有发现 sfs2x.example.android.tris.Tris 这个类.
      

  2.   

    不是,这个类有的。一开始我以为是路径问题,一直在manifest里面反复核对,但发现根本没问题啊,activity我也都有说明了啊。我就纳闷了,下面是我的manifest
    绝对路径我也试过,没用。急死我了,眼看毕设答辩接近了~~~~<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:versionCode="1"
          android:versionName="1.0" package="sfs2x.example.android.tris">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:label="@string/app_name" android:name=".Tris">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".TrisGame" android:label="@string/app_name">
           </activity>
        </application>
      

  3.   

    有Tris.class这个文件吗?这个文件是Activity类型吗?如果不是Activity肯定就错了。解决问题关键还是要发源码
      

  4.   

    谢谢各位的解答~CSDN还是很有爱的~
    to AMinfo:
    Tris是一个activity,TrisGame也是个activity。我是菜鸟,第一次发帖来着,不知道怎么上传代码直接复制在回复栏里吗?
    另外我这个是SFS2X这个服务器的例子,是基于android的客户端扩展,用到SFS2X的jar,程序本身没报错,运行时就出现上面的问题。难道是我要把服务器端也搭建好才可以运行的?我觉得就算没搭建服务器端,客户端也是可以跑起来的啊,只是连接不上吧?
    不知道有没有SFS2X的大牛,求解答,万分感谢啊
      

  5.   

    我碰到了类似的问题,
    一直在调试的项目,突然就坏了,不能运行了,
    稍有不同的是,我的报的是 java.lang.IllegalAccessException不知道是不是配置那里改动了,在查,未解决
      

  6.   

    把你所用到的jar放在lib文件夹中,导入项目中看看。
      

  7.   

    java build path->source tab项中添加lib文件夹,前提把jar放在lib中。
      

  8.   

    谢谢各位的回答~
    to soft200816:
    经验证无效。我重新开了个项目,新建lib文件夹,导入jar,也build path了,程序还是上面那段错误logcat。to AMinfo:
    源码有点长。可以的话,留个邮箱吧?我把项目打包发给你看看。感激不尽~
      

  9.   

    怪了怪了!!我发现我以前写的android游戏只要有导入外来的jar包的都运行不起来了。都是上面同样的logcat错误!!
    难道真的是我配置问题?我现在用的工具是eclipse helios,系统环境win7旗舰版。
    cmd已验证jdk和android sdk环境变量均设置OK
    logcat日志上说 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)我查看了我的JAR,android.app包里面没有ActivityThread这个类!难道是这个问题?我的SDK有问题?话说我都在线更新到最新版本了啊!求高手支招啊!!!!!!
      

  10.   

    试试这个:http://stackoverflow.com/a/10001213/1235001
      

  11.   

    我告诉你怎么解决哈,你先在你的lib右键->Build Path->Use as source folder,然后把bin下面的APK删掉,重新运行下就好了