Android/Sony SmartWatch: невозможно создать экземпляр получателя (ClassNotFoundException)

Я получил ClassNotFoundException со статическим вещательным приемником. Исключение возникает при установке приложения через затмение на устройстве. Я разрабатываю расширение SmartWatch для Sony, поэтому мне нужно использовать проект "SmartExtensionUtils" из SDK Sony. Пока я работал внутри проекта с примером кода, все было хорошо. Я начал новый проект с 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>
    ....

В чем может быть проблема? Какие-либо предложения??? Я сделал alreday clean + rebuild (пару раз)!

2 ответа

Вы включили SmartExtensionAPI а также SmartExtensionUtil проекты как зависимости, как в вашем проекте, так и в Maven?

Попробуйте очистить рабочее пространство (запустите Eclipse с флагом -clean) и убедитесь, что для параметров соответствия JDK вашего проекта установлено значение 1.6 (а не 1.7)! Это сработало для меня. Я установил уровень соответствия JDK всего рабочего пространства вместо самого проекта, и ошибка просто исчезла!

Другие вопросы по тегам