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

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

3 голосов
/ 15 августа 2011

Сегодня я купил планшет 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) с помощью команды меню «Debug As -> Android NDK Application», но после сборки - ничего не происходит.

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

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

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

Ответы [ 2 ]

0 голосов
/ 08 мая 2013

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

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

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

0 голосов
/ 04 ноября 2011

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

[2011-11-03 22:01:58 - testndk] NDK: NVIDIA Debug Manager для Android NDK!
[2011-11-03 22:01:58 - testndk] NDK: adb запущенобычно ...
[2011-11-03 22:01:58 - testndk] NDK: Выполнение com.xxx.android.testndk.TestNdkАктивность запуска активности
[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] NDK: установка 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: Начало: 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 не запущен должным образом

...