приложения за отдалечен отстраняване на грешки работи на Android, Intel® софтуер

приложения за отдалечен отстраняване на грешки в Android OS *

Android * Debug Bridge

Android Debug Bridge (ADB) - програма за команден ред, който поддържа обмена на данни между дебъгер на компютъра (обикновено GDB *, DDMS * (Dalvik * Debug Монитор сървър) или ADT) и начина, Android на целта устройство. Целева изображение може да работи в пример за подражание виртуално устройство или физическо устройство, комуникация, с което се извършва с помощта на кабел USB-OTG или USB-Ethernet адаптер. ADB е свързващ елемент, който дава възможност за отстраняване на грешки на Android приложения.

Настройка на Android Debug Bridge за дистанционно отстраняване на грешки с приложения процесор Intel® платформа AtomTM е почти идентична с друга за отстраняване на грешки архитектура.

Ако целевото изображение се изпълнява на физическо устройство, което трябва да се даде възможност на USB-OTG или USB-Ethernet. В подкрепа на USB-Ethernet изисква ядрото преконфигуриране и повторно сглобяване. OEM-доставчик ще осигури необходимата информация за тази процедура.

Това са основните стъпки:

1. Декларирам debuggable за кандидатстване имот в манифеста Android.

Ако използвате Eclipse, можете да пропуснете тази стъпка, тъй като отстраняването на грешки се активира автоматично, когато стартирате приложението от рамките на Eclipse IDE.

Файлът AndroidManifest.xml, добавете андроид: debuggable = "вярно" в елемента .

2. включва отстраняването на грешки на устройството чрез USB.

На устройството, отидете в Настройки> Приложения> Разработка и инсталиране на USB отстраняване на грешки флаг (в версия на Android 4.0 се намира в Настройки> опции за разработчици).

3. Създаване на система за устройства за откриване.

о В Windows, трябва да инсталирате USB драйвера за АБР. Ръководство за инсталиране и връзки към водачите OEM-производители виждат. Документират OEM USB драйвери.

о За Mac OS X * инсталирате допълнителни драйвери не е необходимо. Пропуснете тази стъпка.

о Ако използвате Ubuntu Linux * Трябва да добавите файл правила Удев. съдържащ USB конфигурация за всеки тип устройство да се използва в състава. Файлът с правилата, всеки производител на устройства, маркирани с уникален идентификатор с ATTR собственост. Списък на производителите идентификатори см. В раздел Списък на USB производители идентификатори по-долу. Създаване устройства за откриване по Ubuntu Linux:

Влезте като корен и да се създаде файл: /etc/udev/rules.d/51-android.rules.

Добави към всеки производител на файл в следния формат:
ПОДСИСТЕМА == "USB", ATTR == ""MODE =" 0666 ", група =" plugdev "

Забележка: синтактичните правила могат да се различават леко в зависимост от околната среда. Ако е необходимо, се отнасят до системата за Удев документация. Синтаксис см. В това ръководство за писане на правила Удев.

Сега изпълнете следната команда:
коригират а + R /etc/udev/rules.d/51-android.rules

Когато е свързан чрез USB, можете да разберете дали устройството е свързано с изпълнението на дневния бюджет в рамките на дневния устройства от моята платформа инструменти /. При свързване на екрана ще се появи името на устройство с думата устройството.

Когато заредена с Android OS, свържете USB-OTG кабел към порт (мини-USB тип B) на устройството, а другия край на кабела - към (USB тип А) на вашия компютър.

Ако тя работи, ще бъде възможно да се изпълни следната команда за показване на свързаното устройство:

* Деймън не работи. като се започне сега *

* Деймън започна успешно *

Списък на устройства прикрепени

След като инсталирате adb.exe файл с Android SDK ще бъде в папката \ Android-SDK \ платформа инструменти

Преносът на данни между сървъра и клиента с ADB

Преди това обсъждахме ADB настройка на вашия компютър развитие. В действителност, този клиент - сървър програма се състои от три компонента:

Клиентът работи на компютъра на разработчика. Можете да се обадите на клиента от черупката с помощта на ADB команда. Други средства за Android, като ADT плъгин и DDMS, също да предоставят на клиентите в рамките на дневния.

Сървърът работи на компютъра на разработчика като фон процес. Сървърът контролира обмена на данни между програмата за ADB контрол на емулатора или на устройството на клиента и.

Управление на програма, която се изпълнява на всеки екземпляр на емулатора или на всяко устройство като фон процес.

клиент първо проверява дали вече започна процес ADB ADB сървър при стартиране на клиента. Ако не, тогава клиентът започва процеса на сървър. Сървърът ще се проведе свързва с местната TCP-порт 5037 и слуша за команди, изпратени в рамките на дневния клиенти. Всички клиенти ползват в рамките на дневния порт 5037 за комуникация със сървъра на ADB.

TZatem сървъра установява връзки до всички работещи емулатори и устройства. За откриване на емулатори и сървъра устройство проверява всички пристанища с нечетни номера в обхвата 5555-5585 (този диапазон се използва емулатори и устройства). При констатиране на ADB демон инсталиран свържете към този порт. Моля, имайте предвид, че всеки емулатор или устройство получи чифт портове с поредни номера: четни порт за свързване на конзолата пристанище и нечетни номера връзката с ADB. Например:

Емулатор 1, конзола: 5554

Емулатор 1, ADB: 5555

Emulator 2 конзола: 5556

Emulator 2, ADB: 5557.

Както е показано по-горе, за ADB порт 5555 е свързан с модел на емулатора, конзолата който слуша на порт 5554.

След сървърни връзки до всички случаи на емулатора на, можете да използвате ADB команди за управление на тези случаи и достъп до тях. Сървърът управлява връзките с емулатора и устройства и обработва команди за множество клиенти в рамките на дневния, така че можете да работите и да е устройство или емулатор с всеки клиент (или скрипт).

Въведете "ADB черупка". символа # показва, че връзката е установена успешно.

Ключови ADB команди за устройства

Следващите команди помагат предадат Прил за целта устройство или емулатор от командния ред. Това може да бъде полезно, особено ако няма връзка SSH терминал.

ADB синхронизиране [ ] - копирате от компютъра към устройството само когато има промени

(-l списък дисплей, но не копирайте)

(Cm. "ADB помогне на всички")

ADB черупки - управлява дистанционно интерактивен обвивка

ADB черупки - изпълнява команда отдалечена обвивка<

ADB ему - изпълни командата конзола емулатор<

ADB напред - пренасочване на контакта връзка. настройки за пренасочване:>

localabstract:

localreserved:

localfilesystem:

Дев:

jdwp: (Remote само)

ADB jdwp - показва списък на всички процеси, свързани с PID JDWP транспорт

ADB инсталиране [Ь] [-r] [-s] - да прехвърли на файла с пакет устройство и да го инсталирате

( "-l" прилагане напред ключалка)

( "-r", за да инсталирате приложението, запазвайки данните си за данни)

( "-s", за да инсталирате на SD картата, а не в вътрешна флаш памет)

ADB деинсталиране [к] - премахване на пакета документи за кандидатстване на устройството

( "К", за да спаси кеша и данните от папка)

Ако отстраняването на грешки се извършва с помощта на GDB, задачата за обработка на процеса на трансфер на данни, като отстраняване на грешки изпълнява gdbserver на устройството, но можете да използвате водача USB-Ethernet с ADB да се справят с транспортирането на данни, според които gdbserver комуникира през TCP / IP протокол с GDB на компютъра на развитие.

Има gdbclient заявление, персонализирани среда общуват отстраняване на грешки и стартирането gdbserver за отстраняване на грешки на устройството.

Използване: gdbclient изпълним: PORT [PROG_PATH]

Изпълним изпълним името на файла (по подразбиране: app_process)

PORT порт за свързване (по подразбиране 1234)

PROG_PATH пълен път на изпълнимия файл на целевата система (например: / система / хамбар / Медиен сървър)

Ако не е посочен параметър PROG_PATH, gdclient се опитва да тече gdbserver и да го прикрепите към работещ PROG_PATH.

За да започнете да gdbserver изрично следната команда може да се използва

# Gdbserver: 1234 269 --attach

Приложено; PID = 269

Слушане на порт 1234

На следващата стъпка по стъпка инструкции за това как да се започне отстраняване на грешки заседание посочва, че АБР все още се използва за предаване на данни за отстраняване на грешки, дори и отстраняване на грешки се извършва с GDB, това не е ADT или DDMS. Да предположим, че на пристанището 1234 се използва.

gdbserver: 1234 / система / хамбар / изпълним

или се свържете с съществуващ процес:

gdbserver: 1234 --attach PID

Пренасочване на местния порт 1234 работна станция с вашето устройство посредством ADB:

ADB напред TCP: 1234 TCP: 1234


Изпълнете специална версия на GDB, която е в областта на предварително създадени изходния код структура:

предварително създадени / Linux / toolchain-EABI-4.x.x / хамбар / i686-андроид-Linux-GDB (за Linux)

предварително създадени / Дарвин-x86 / toolchain-EABI-4.x.x / бен / i686-андроид-Linux-GDB (за Дарвин)

Ако не може да се намери специална версия на GDB, стартирайте командата намерите предварително създадени -name i686-андроид-Linux-gdbin в структурата на изходния код, за да намерите и пуснете най-новата версия.

Трябва да копирате изпълнимия файл в символите на папките, а не в главната папка Android като файла в главната папка се изчиства от информацията за характера.

В GDB укажете местоположението на споделени библиотеки за изтегляне:

настроен solib-абсолютен-префикс / абсолютен източник-път / от / целева / Продукт / имена / символи

комплект solib-търсене-път / абсолютен източник-път / от / целева / продукт / продукт име / символи / система / ИЪ

Абсолютната-е пътят към изходния код на дървото.

Поддържайте правилно определят папки: GDB не може да издаде съобщение в случай на грешка.

Свържете към устройството с командите GDB:

(GDB) насочване на дистанционното: 1234

Параметър 1234 показва връзка към порт 1234 на локалния компютър, свързан с устройството чрез ADB.

Сега можете да започнете отстраняване на грешки вградени C / C ++ код на платформата Android * с GDB обичайния начин.

За повече информация, вижте документацията за GDB * -. В GNU Project Debugger.

С помощта на приставката за ADT Eclipse * * * отстраняване на грешки Android приложения

Щепселът за отстраняване на грешки Android (ADT *) осигурява всички характеристики на интегрирана отстраняване на грешки приложения в Eclipse * за емулатори и устройства с Intel архитектура. Той поддържа два изгледа отстраняване на грешки с различен набор от функции.

Възможно е да превключвате между тях, както се изисква; всеки от тях има някои предимства.

За отстраняване на грешки в Eclipse *

Представяне на отстраняване на грешки в Eclipse осигурява достъп до следните раздели:

Debug - картографирането вече отстранени грешки и отстраняване на грешки в заявленията за момента Android и в момента нишка

Променливи - когато задавате точки на прекъсване, показване на стойностите на променливи по време на работа

Гранични - списък с точки на прекъсване в кода на приложението

За да отворите Debug перспектива, кликнете Window> Open перспектива> Debug. За повече информация, вижте. В документацията за Eclipse дебъгер.

Представяне на DDMS в Eclipse осигурява достъп до всички функции DDMS на околната среда за развитие на Eclipse. Следващите секции DDMS:

Устройства - списък на физически и виртуални устройства, прикрепени към АБР.

Emulator Control - за да изпълняват различни действия с устройството.

Теми - показване изпълнява в момента нишка във виртуална машина.

Heap - използването на виртуална куп машина.

File Explorer - работа с устройството, файловата система.

Сряда стартиращи заявления за отстраняване на грешки

Когато отстраняване на грешки на Android приложения * за Intel® архитектура разлика е, за да изберете целевия отстраняване на грешки устройството.

За избор на устройство с помощта на мениджъра Android * Virtual Диспечер на устройствата, която е част от Android SDK *, отворете прозореца на менюто> AVD мениджър в Eclipse *. Трябва да изберете Intel Atom като цел EABI за OS образ и устройството за емулация.

приложения за отдалечен отстраняване на грешки работи на Android, Intel® софтуер

Ако сте направили всичко по-горе в началото на тази статия, стъпките за инсталиране на ADB *, и да се създаде мост към отстраняване на грешки на физическо устройство, затъмнението ще бъде в менюто на устройството, където можете да изберете целева устройство за разполагане на приложението и го отстраняване на грешки.

приложения за отдалечен отстраняване на грешки работи на Android, Intel® софтуер

Останалата част от отстраняване на грешките в Android приложения * за Intel® архитектура е почти идентично за отстраняване на грешки на Android приложения за * * на ARM архитектура.