сбой ndk-gdb с сообщением: Недопустимое имя атрибута: пакет

#macos #gdb #android-ndk

#macos #gdb #android-ndk

Вопрос:

Подключите Nexus One к Mac под управлением Snow Leopard. Запустите «debug» из Eclipse. Показывает выполнение

 /usr/local/android-ndk-r5b/ndk-build NDK_DEBUG=1 
  

Загружается на Nexus One нормально. Затем я пытаюсь запустить отладчик, чтобы я мог добраться до уровня JNI:

 $ $NDK_DIR/ndk-gdb 
  

Сбой с этими сообщениями:

 Invalid attribute name: 
          package
Invalid attribute name: 
          package
Invalid attribute name: 
          package
ERROR: Non-debuggable application installed on the target device.
       Please re-install the debuggable version!
  

Итак, я проверил apk в bin, и он имеет

 lib/armeabi/gdbserver
  

Посмотрел на скрипт ndk-dbg, и это сообщение означает, что он не пытается найти gdbserver на телефоне. Итак, я попытался выполнить некоторые команды ls вручную :

 $ adb shell ls /data
opendir failed, Permission denied
  

Итак, я просмотрел / data, и разрешения равны 771.

Что я сделал не так, чтобы добраться до этого момента?

Ответ №1:

В AndroidManifest.xml в файле был элемент управления кареткой Windows ( r n), который приводил к сбоям в скрипте ndk-gdb. Чтобы исправить это, я отредактировал файл в vi и выполнил "set filetype=unix" .

Комментарии:

1. И вы можете сокращать как :set ff=unix или даже как :se ff=unix

Ответ №2:

Другим обходным путем является отправка библиотек / armeabi / gdbserver в /data/data /your.pkg / lib на корневом устройстве.