#debugging #android-ndk
#отладка #android-ndk
Вопрос:
Недавно мне пришлось сменить свой рабочий телефон Android на HTC Incredible S, чтобы использовать для отладки Android NDK. К сожалению, ndk-gdb
скрипту не удается подключить отладчик, что приводит к появлению ошибки run-as: Package my.package has corrupt installation
. Я несколько раз пробовал все обычные исправления — удаление и переустановку apk, очистку и перестройку в Eclipse, но безрезультатно. Кроме того, я знаю, что проект настроен должным образом для отладки, поскольку я успешно выполнял это в течение нескольких недель на Nexus S.
Кто-нибудь добился успеха с Android NDK на Incredible S? И если да, нужно ли было делать что-то конкретное? Я понимаю, что может потребоваться рутировать телефон и изменять разрешения / data / data, но я хочу избежать этого, если это вообще возможно.
Спасибо
РЕДАКТИРОВАТЬ: Хорошо, я также пробовал HTC Desire S с аналогичными результатами. Кто-нибудь может рассказать мне о телефоне, который они успешно использовали для многопоточной отладки NDK без рутирования, но который не Nexus S? Я пробовал Galaxy S II — отладчик подключен, но ни одна из точек останова не была достигнута — я думаю, что это связано с чипом Tegra в его ядре.
Ответ №1:
Из моих исследований с различными телефонами кажется, что HTC Sense (или что-то, что добавляет HTC) изменяет что-то глубоко в Android, что приводит к сбою запуска от имени пользователя (поскольку он очень требователен к файловой системе из-за своего бита SUID — достаточно справедливо). Так что, если это поможет кому-то еще — я бы не стал пытаться использовать HTC для отладки (рутирование могло бы помочь, но я его не тестировал).
Телефоны, с которыми я добился успеха, являются:
- Google Nexus S и Google Nexus One (я думаю, что любой телефон под брендом Google со стандартным Android будет работать).
- Sony Xperia Play.