Ошибка только с adb - PullRequest
       0

Ошибка только с adb

2 голосов
/ 08 марта 2012

Я пишу очень простое приложение для 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 у меня есть всплывающее окно с описанием возникшего исключения. Есть ли что-нибудь подобное в «Затмении»?

1 Ответ

1 голос
/ 13 июля 2012

Как указал Жюльен, отладчик может остановиться с сообщением:

defineClass(String, ClassLoader, int, ProtectionDomain) line: not available [native method]

, поскольку в классе установлена ​​точка останова.Удаление точки останова решит эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...