Отладка NDK на планшете Tegra

Сегодня я купил Android-планшет для собственной разработки — Acer Iconina Tab A500 (Honeycomb 3.1) на базе Tegra.

Затем я загрузил и установил Tegra Android Development Pack (Windows и Mac) с сайта http://developer.nvidia.com/tegra-android-development-pack. Конечно, я включил «Отладку по USB» в настройках приложения.

Я пытался отлаживать образцы приложений (например, es2_globe) с помощью команды меню «Отладка как -> Приложение Android NDK», но после сборки ничего не происходит.

Приложение не запускается. Но если я выберу «Отладка от имени -> Приложение для Android» или «Запуск от имени -> Приложение для Android» — все в порядке.

Такая же ситуация на Mac и Windows.

Итак, что мне нужно сделать, чтобы отладка NDK заработала?


person Newbee    schedule 15.08.2011    source источник
comment
Пробовал с ndk-r7 на Acer Iconia Tab (3.2 без рута), HTC Desire HD (2.3.5 без рута), Samsung Galaxy Ace (2.3.3 без рута). Каждый раз получайте сообщения, размещенные ниже.   -  person    schedule 13.01.2012


Ответы (2)


Здесь могут быть разные причины, по которым ваше приложение не запустилось, и вы можете увидеть, что не так в выводе консоли, как в следующем примере, где gdbserver не был успешно запущен, и эту ситуацию можно исправить рутированием устройства.

[2011-11-03 22:01:58 - testndk] NDK: Менеджер отладки NVIDIA для Android NDK!
[2011-11-03 22:01:58 - testndk] NDK: adb работает нормально...< br> [2011-11-03 22:01:58 - testndk] NDK: Выполнение запуска активности com.xxx.android.testndk.TestNdkActivity
[2011-11-03 22:01:58 - testndk] NDK: Автоматически Целевой режим: использование устройства 'HT09AP801162'
[2011-11-03 22:01:58 - testndk] NDK: проверьте, есть ли уже запущенные gdbservers 0.079
[2011-11-03 22:01:58 - testndk ] NDK: Запущенные процессы gdbserver не найдены.
[2011-11-03 22:01:58 - testndk] NDK: Проверить, запущено ли приложение com.xxx.android.testndk 0.188
[2011-11- 03 22:01:58 - testndk] NDK: Работающее приложение не найдено
[2011-11-03 22:01:58 - testndk] NDK: Удаление пакета com.xxx.android.testndk 0.282
[2011 -11-03 22:02:00 - testndk] NDK: синхронизация приложения 1.469
[2011-11-03 22:02:00 - testndk] NDK: загрузка testndk.apk на устройство 'HT09AP801162'
[2011 -11-03 22:02:00 - тестндк] НДК : Установка testndk.apk...
[2011-11-03 22:02:01 - testndk] NDK: Успех!
[2011-11-03 22:02:02 - testndk] NDK: Запуск приложения 3.329
[2011-11-03 22:02:02 - testndk] NDK: Запуск активности
com.xxx.android.testndk.TestNdkActivity на устройстве
[2011-11-03 22:02:02 - testndk] NDK: выполнение команды оболочки: am start -D -n com.xxx.android.testndk/com.xxx.android.testndk.TestNdkActivity -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
[2011-11-03 22:02:02 - testndk] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xxx.android .testndk/.TestNdkActivity }
[2011-11-03 22:02:02 - testndk] NDK: 3 секунды ожидания запуска приложения 3.891
[2011-11-03 22:02:02 - testndk] NDK: Попытка подключить отладчик к 'com.xxx.android.testndk' через порт 8602
[2011-11-03 22:02:05 - testndk] NDK: Выполнение переадресации портов 6.891
[2011-11- 03 22:02:05 - testndk] NDK: Компьютеры PID запущенного приложения 6.907
[2011-11-03 22:02:05 - testndk] NDK: Найдено PID запущенного приложения: 1308
[2011-11-03 22:02:05 - testndk] NDK: Запуск gdbserver :12345 --attach 1308 7.016
[2011-11-03 22:02:05 - testndk] GdbServerReceiver: gdbserver: разрешение отклонено
[2011-11-03 22:02:12 - testndk] NDK: Gdbserver запущен неправильно

person asat    schedule 03.11.2011

Есть много причин, по которым Native Debug может не работать. Вы можете попробовать следующее:

  1. Я смог отладить натив только с помощью ndk версии r8d, предыдущие версии доставляли много трудностей
  2. Проверьте в представлении консоли, есть ли какие-либо ошибки во время компиляции или во время синхронизации с устройством.
  3. Иногда возникает ошибка с надписью «ошибка сегментации gdbserver». Убедитесь, что вы компилируете с NDK_DEBUG = 1. Также попробуйте на другом устройстве, иногда это устройство с проблемой.
  4. Откройте apk внутри папки bin и убедитесь, что в дополнение к вашему обычному файлу .so есть gdbserver и gdb.setup.
  5. На всякий случай проверьте, что у вас в манифесте стоит флаг отладки true
  6. что-то помогает перезапуск adb и отключение переподключения устройства.

Для получения более подробной информации вы можете опубликовать ошибки, отображаемые в представлении консоли.

person felknight    schedule 08.05.2013