我得到了一个带静态广播接收器的ClassNotFoundException。在设备上通过eclipse安装应用程序时会触发异常。我正在开发一个sony smartwatch扩展,所以我需要使用sony sdk中的“SmartExtensionUtils”项目。只要我在代码示例项目中工作,一切都很好。我用Maven + Android开始了一个新项目,现在它不再工作了!不明白为什么?!?我认为包装出错了......
我收到以下错误:
E/AndroidRuntime(11201): java.lang.RuntimeException: Unable to instantiate receiver com.bla.move.smartwatch.sony.ExtensionReceiver: java.lang.ClassNotFoundException: com.bla.move.smartwatch.sony.ExtensionReceiver
我的broadcastreceiver类叫做ExtensionReceiver。清单文件中的名称是相同的......
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bla.move.smartwatch.sony"
android:versionName="1.0" android:versionCode="1">
<uses-sdk android:minSdkVersion="7"/>
<uses-permission
android:name="com.sonyericsson.extras.liveware.aef.EXTENSION_PERMISSION" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="SmartWatchPreferenceActivity" android:label="@string/preference_activity_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<service android:name=".SmartWatchExtensionService" />
<receiver android:name=".ExtensionReceiver">
<intent-filter>
.....
</intent-filter>
</receiver>
....
可能是什么问题?有什么建议???我做了alreday clean + rebuild(几次)!
答案 0 :(得分:0)
您是否在项目和Maven中都将SmartExtensionAPI
和SmartExtensionUtil
项目作为依赖项包含在内?
答案 1 :(得分:0)
尝试清理工作区(使用-clean标志启动Eclipse),并确保项目的JDK合规性设置设置为1.6(而不是1.7)!这对我有用。我设置整个工作区的JDK合规级别,而不是项目本身,错误就消失了!