Я пишу очень простое приложение для Android, состоящее из активности и сервиса. Я загружаю свой сервис в действии, выполняя
@Override
public void onResume()
{
super.onResume();
mServiceIntent = new Intent(this, RemoteIntegerService.class);
ComponentName name = startService(mServiceIntent);
TextView mainText = (TextView)findViewById(R.id.mainText);
mainText.setText(name == null ? "(null)" : name.getClassName());
}
Когда я запускаю приложение на Galaxy Tab или на виртуальном устройстве, все выглядит нормально, и mainText читает правильное имя класса.
Но когда я запускаю приложение в Eclipse с помощью функции отладки через usb adb, у меня возникает ошибка в конструкторе Intent (как на реальном устройстве, так и на виртуальном). Вот трассировка стека:
RemoteInteger [Android Application]
DalvikVM[localhost:8621]
Thread [<1> main] (Class load: RemoteIntegerService)
DexFile.defineClass(String, ClassLoader, int, ProtectionDomain) line: not available [native method]
DexFile.loadClassBinaryName(String, ClassLoader) line: 207
PathClassLoader.findClass(String) line: 211
PathClassLoader(ClassLoader).loadClass(String, boolean) line: 540
PathClassLoader(ClassLoader).loadClass(String) line: 500
RemoteIntegerActivity.onResume() line: 28
Instrumentation.callActivityOnResume(Activity) line: 1153
RemoteIntegerActivity(Activity).performResume() line: 4428
ActivityThread.performResumeActivity(IBinder, boolean) line: 2217
ActivityThread.handleResumeActivity(IBinder, boolean, boolean) line: 2255
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1769
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 122
ActivityThread$H.handleMessage(Message) line: 1002
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 132
ActivityThread.main(String[]) line: 4025
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 491
ZygoteInit$MethodAndArgsCaller.run() line: 841
ZygoteInit.main(String[]) line: 599
NativeStart.main(String[]) line: not available [native method]
Thread [<8> Binder Thread #2] (Running)
Thread [<7> Binder Thread #1] (Running)
Редактировать
Скопирована полная трассировка стека
MyService -> RemoteIntegerService (реальное имя, связанное с трассировкой стека)
Редактировать 2 - подвопрос
Я не могу найти информацию об ошибке. Программа просто останавливается, я вижу трассировку стека, но больше ничего. В Visual Studio у меня есть всплывающее окно с описанием возникшего исключения. Есть ли что-нибудь подобное в «Затмении»?