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 всего рабочего пространства вместо самого проекта, и ошибка просто исчезла!