1

我得到了一个带有静态广播接收器的 ClassNotFoundException。在设备上通过 eclipse 安装应用程序时会触发异常。我正在开发一个索尼智能手表扩展,所以我需要使用来自索尼 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

我的广播接收器类称为 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>
    ....

可能是什么问题呢?有什么建议么???我已经清理+重建(几次)!

4

2 回答 2

0

您是否在项目和 Maven 中都将SmartExtensionAPISmartExtensionUtil项目作为依赖项包含在内?

于 2013-04-07T15:05:17.060 回答
0

尝试清理工作区(使用 -clean 标志启动 Eclipse),并确保项目的 JDK 合规性设置设置为 1.6(不是 1.7)!这对我有用。我设置了整个工作空间的JDK合规级别,而不是项目本身,错误就消失了!

于 2013-04-08T13:33:58.403 回答