我已经阅读了大约一百个相同类别的问题,但没有一个有帮助。我有一个工作应用程序,然后重构包名称,然后编译并运行。一周后我回来处理它并在启动时得到 ClassNotFoundException。更糟糕的是,如果我从 repo 检查之前的提交(在任何重构之前,一切正常),该项目在启动时会引发相同的错误(除了不同的包名称)。
我已经尝试了所有我能想到的方法,但我不知道如何找到问题所在。我做了显而易见的事情:清理项目,完全删除并重新添加,在新设备上运行...
我不确定哪些代码有助于调试,但这是我的 list 中的声明和 logcat 输出。如果其他东西可能有用,请告诉我。我真的迷路了。
崩溃:
E/AndroidRuntime( 515): FATAL EXCEPTION: main
E/AndroidRuntime( 515): java.lang.RuntimeException: Unable to instantiate service
co.mosic.mosic.CommunicationService: java.lang.ClassNotFoundException: co.mosic.mosic.CommunicationService
E/AndroidRuntime( 515): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2237)
E/AndroidRuntime( 515): at android.app.ActivityThread.access$1600(ActivityThread.java:123)
E/AndroidRuntime( 515): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
E/AndroidRuntime( 515): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 515): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 515): at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime( 515): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 515): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 515): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime( 515): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime( 515): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 515): Caused by: java.lang.ClassNotFoundException: co.mosic.mosic.CommunicationService
E/AndroidRuntime( 515): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
E/AndroidRuntime( 515): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
E/AndroidRuntime( 515): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
E/AndroidRuntime( 515): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2234)
E/AndroidRuntime( 515): ... 10 more
list :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.mosic.mosic"
android:versionCode="1"
android:versionName="1.0" >
...
<service
android:name=".CommunicationService" >
<intent-filter>
<action android:name="co.mosic.mosic.MStcServiceInet" />
</intent-filter>
</service>
最佳答案
由于最近更新了 ADT 插件,库文件夹必须更改为“libs”而不是 lib。我最近遇到过几次。
关于java - 无法实例化服务 : ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10569015/