Андроид Дебуг Бридге има много тога о чему можда не знате. Кликните овде за неке корисне савете и трикове за коришћење АДБ-а!
Брзе везе
- Схелл приступ
- Повезивање са више уређаја
- Пренос датотека
- Логгинг
- Навођење инсталираних апликација преко АДБ-а
- Инсталирање и деинсталирање апликација преко АДБ-а
- Екстраховање АПК-ова помоћу АДБ-а
- Прављење резервне копије и враћање података апликације
- Навођење компоненти апликације
- Покретање активности, услуга и пријемника за емитовање
- Онемогућавање и омогућавање скоро сваке апликације
- Снимање снимака екрана
- Пренос бинарних података између рачунара и Андроид уређаја
Ако сте били Андроид ентузијаста који вреба у модинг сцени, или програмер апликација на било коју дужину када, пре или касније, наићи ћете на уредан алат који се зове Андроид Дебуг Бридге, или АДБ за кратак. Увелико се користи у Андроид Студију као помоћни програм командне линије. Андроид програмери га такође користе као самостално решење за ручно инсталирање и тестирање апликација Андроид паметни телефони као и емулирани Андроид уређаји.
Али постоји много тога што АДБ може да уради, а већина тога није корисна само програмерима. Чак и ако нисте програмер, а читате овај чланак, постоји велика шанса да сте вероватно једном или двапут користили АДБ да учитајте апликацију или промените дозволу. Али то није све за шта се АДБ може користити. Наставите да читате за неке савете и трикове за коришћење АДБ-а за које можда нисте знали.
Мораћете да имате покренут и покренут АДБ на вашем рачунару. Обавезно погледајте наш чланак о како инсталирати АДБ ако ти је потребна помоћ. У случају да користите Виндовс, такође морате инсталирајте одговарајуће ОЕМ УСБ драјвере за ваш Андроид уређај.
Схелл приступ
Ако сте раније користили АДБ, можда сте навикли да изводите све команде у једном реду. Али такође можете користити АДБ да отворите терминалску шкољку на свом уређају и директно покренете команде. И то је лако!
У прозору терминала или командне линије:
адб схелл
Тада ћете бити поздрављени са а $
симбол где можете да покрећете команде директно на свом уређају.
Повезивање са више уређаја
АДБ може да комуницира са више уређаја истовремено. Међутим, морате навести циљни уређај када издајете АДБ команде у таквим сценаријима.
Да бисте то урадили, мораћете да знате серијски број циљног уређаја. Серију можете добити помоћу команде девицес:
адб уређаји
Сада, користите -с
опција за одређивање серијског броја циљног уређаја. Пример:
адб -с <серијскиброј> шкољка
Пренос датотека
За љубитеље командне линије, АДБ пружа веома једноставан начин за пренос датотека на и са вашег Андроид уређаја. Само користите повући
команду за копирање датотека и директоријума са уређаја и гурати
команда за копирање датотека и директоријума на уређај:
Ако желите да копирате датотеку или директоријум са његовим поддиректоријумима на Андроид уређај:
адб пусх лоцал_патх девице_патх
- Пример:
адб пусх Д:\имаге.пнг /сдцард
Следећа команда ће копирати датотеку или директоријум са својим поддиректоријумима са Андроид уређаја на рачунар домаћин:
адб пулл девице_патх лоцал_патх
- Пример:
адб пулл /сдцард/бацкуп_Април.тар Д:\Бацкуп
Логгинг
Андроид Студио пружа Логцат прозор, који подржава приказивање дневника са вашег уређаја у реалном времену. Међутим, није баш корисно за групну обраду. Срећом, Андроид уређаји се испоручују са командом логцат доступном преко АДБ-а, која се може користити за избацивање порука из евиденције система и апликација и њихово штампање на екрану.
Основна синтакса је следећа:
адб логцат
Да бисте сазнали више, погледајте наш водич на како узети системске логцате, евиденције кернела и дмесг на Андроид-у.
Ускршња јаја
Гоогле нуди два сјајна ускршња јаја повезана са командом логцат.
- Први је лолцат, климање за ЛОЛцат меме. Даје исти излаз као обична логцат команда.
адб лолцат
- Други је лонгцат, што је еквивалентно логцат -в лонг команди. Приказује сва поља метаподатака и засебне поруке са празним редом.
адб лонгцат
Навођење инсталираних апликација преко АДБ-а
Да бисте видели инсталиране апликације на свом уређају, можете користити следећу команду:
адб схелл пм листа пакети
Ово ће вратити листу имена пакета инсталираних апликација, са сваком од њих у свом реду испред пакет:
.
Опције
Постоје и неке опције које можете користити за преузимање конкретнијих листа.
- -ф ће укључити путању до основног АПК-а за сваку апликацију, заједно са називом њеног пакета.
- -а ће се побринути да сви познати пакети који нису АПЕКС буду враћени.
- -д ће проузроковати да наредба врати само онеспособљене пакете.
- -е ће проузроковати да наредба врати само омогућене пакете.
- -с ће проузроковати да наредба врати само системске пакете.
- -3 ће проузроковати да наредба врати само пакете треће стране.
- -и ће укључити име инсталационог пакета за сваки пакет.
- -У ће укључити УИД пакета за сваки пакет.
- -у ће укључивати деинсталиране пакете.
- --схов-версионцоде ће укључити код верзије за сваки пакет.
- --апек-онли ће вратити само АПЕКС пакете.
- --уид ће приказати само пакете са датим УИД-ом.
- --усер ће приказати само пакете који припадају датом корисничком ИД-у.
Инсталирање и деинсталирање апликација преко АДБ-а
Ово је релативно уобичајена употреба АДБ-а, али ипак вреди поменути. Између осталих начина, можете користити и АДБ за инсталирајте и деинсталирајте Андроид апликације на ваш Андроид уређај.
Инсталирање АПК-а
Ако имате АПК на рачунару, можете га инсталирати на свој уређај помоћу следећег:
адбинсталирај-рсомеапк.апк
Не заборавите да замените сомеапк.апк
са пуном путањом до АПК-а који желите да инсталирате.
Опције
Постоји гомила опција за инсталирање АПК-ова преко АДБ-а.
- Тхе -р опција омогућава АДБ-у да инсталира преко постојеће апликације (тј. ажурирање). На Андроид Пие-у и новијим верзијама, не морате да наведете ову опцију.
- Тхе -Р опција, за Андроид Пие и новије верзије ће довести до неуспеха инсталације ако је апликација већ инсталирана.
- Тхе -и опција вам омогућава да наведете име инсталационог пакета. Ово се враћа ако Андроид жели да зна шта је инсталирало АПК.
- Тхе -т опција дозвољава АПК са андроид: тестОнли="тачно" у свом манифесту да се инсталира.
- Тхе -д опција омогућава да наведени АПК буде старија верзија на већ инсталирану апликацију. Ово функционише само ако обе верзије апликације могу да отклоне грешке.
- Тхе -г опција за Андроид Марсхмаллов и касније аутоматски даје све дозволе за време извршавања инсталираној апликацији.
То нису сви они. Ако желите комплетну листу, можете погледати уграђену документацију.
Више АПК-ова и пакета
Ако имате гомилу АПК-ова које желите да инсталирате одједном, било из више апликација, или зато што инсталирате скуп апликација, можете да користите АДБ-ове инсталл-мултипле
и инсталл-мулти-пацкаге
Карактеристике.
Ако су сви ваши АПК-ови за једну апликацију, користите инсталл-мултипле
:
адбинсталл-мултиплеапк1.апкапк2.апк ...
У супротном, користите инсталл-мулти-пацкаге
:
адбинсталл-мулти-пацкагеапп1.апкапп2.апк ...
Опције за ове команде су сличне инсталирај
, али са неким ограничењима. Погледајте АДБ-ову уграђену документацију за које су опције доступне.
Деинсталирање апликације
Да бисте деинсталирали помоћу АДБ-а, требаће вам име пакета апликације коју желите да деинсталирате. Погледајте одељак за Списак инсталираних апликација ако већ нисте.
Када добијете име пакета, деинсталирање је једноставно као:
адб унинсталл <Назив пакета>
Обично не можете да деинсталирате систем или унапред инсталиране апликације помоћу ове команде. Међутим, можда ћете моћи да их онемогућите помоћу АДБ-а. Погледајте одељак Онемогућавање и омогућавање скоро сваке апликације за детаље.
Екстраховање АПК-ова помоћу АДБ-а
Постоји много разлога због којих бисте можда желели да издвојите АПК(е) за апликацију. Можда желите да направите резервну копију за будућу употребу или можда више није доступна на мрежи и желите да је пренесете на други уређај.
Екстраховање апликације помоћу АДБ-а је прилично једноставно. Прво ћете желети да пронађете назив пакета апликације коју желите да издвојите. Постоји више начина да то урадите, али најлакши је обично да користите апликацију Подешавања на уређају да бисте видели листу свих инсталираних апликација, изаберите ону коју желите и померајте се надоле док не пронађете назив пакета или апликацију ИД.
Када добијете име пакета, покрените следећу команду:
адб схелл пм пут <Назив пакета>
Ова команда ће вратити путању свих АПК-ова за тај назив пакета.
Затим можете користити следећу команду да повучете сваки АПК на рачунар:
адб пулл /патх/то/апк.апк
Прављење резервне копије и враћање података апликације
Иако Гоогле тек треба да осмисли иОС методологију прављења резервних копија једним кликом, можете користити АДБ за прављење резервних копија и враћање инсталираних апликација заједно са њиховим подацима. Међутим, функционалност је далеко од савршене, а Гоогле већ јесте означио је функцију као застарелу.
Направи резервну копију
Да бисте направили резервну копију једне апликације, са њеним АПК-ом:
адб резервна копија -апк <пакетиме> -ф име_пакета_бацкуп.аб
У случају да желите да направите резервну копију свих података апликације одједном:
адб резервна копија -ф све -све -апк -носистем
Пошто модул за враћање не може да изврши индивидуално враћање специфично за апликацију, боље је да направите резервне копије специфичне за пакет. Следећи исечак команде (компатибилан са Линук/мацОС-ом и Виндовс подсистемом за Линук) може то учинити уместо вас:
за АПЛИКАЦИЈА ин $(адб схелл пм листа пакета -3)
урадите
АПП=$( одјек${АПП} | сед "с/^пацкаге://")
адб бацкуп -ф ${АПП}.бацкуп ${АПП}
Готово
Ресторе
Прво морате да инсталирате сачувани АПК;
адб инсталирај <пакетиме>.апк
Затим можете вратити његове податке:
адбобновитипацкаге_наме_бацкуп.аб
Да поновимо, АДБ функције резервног копирања и враћања имају више упозорења, укључујући променљиве резултате у зависности од РОМ-а
Навођење компоненти апликације
Компоненте апликације су ствари као што су њене активности, БроадцастРецеиверс, услуге итд. Понекад је корисно знати називе ових компоненти у одређеној апликацији, посебно ако желите да покренете скривене активности или пошаљете емитовање са одређеним подацима.
Нажалост, АДБ нема баш чист начин навођења компоненти апликације. Али могуће је. Покрените следећу команду:
адб схелл думпсис пакет
Читава гомила текста ће бити враћена.
- Скролујте док не пронађете Табела разређивача активности наслов да видите Активности.
- Погледај испод Табела разређивача пријемника за БроадцастРецеиверс.
- Проверите Табела разређивача услуга за услуге.
- И тако даље.
Свака компонента ће показати радњу потребну за њено покретање, назив компоненте и можда неке додатне информације.
Алтернативно, ако желите лакши начин да видите активности, услуге и примаоце, можете користити апликацију Роот Ацтивити Лаунцхер од КСДА Рецогнизед Девелопер Зацхарее1. Показаће вам те компоненте за сваку апликацију, заједно са гомилом других практичних функција.
Цена: 0,99.
Покретање активности, услуга и пријемника за емитовање
АДБ се такође може користити за покретање активности, покретање услуга и обавештавање БроадцастРецеиверс-а. Можете чак да наведете УРИ-је података и додатке намере ако је потребно.
Да бисте покренули компоненте, требаће вам име компоненте онога што желите да покренете. Можете видети како да то добијете из Навођење компоненти апликације одељак.
Синтакса команде за покретање активности је отприлике оваква:
ам старт -а <поступак> -н <саставни део>
Синтакса команде за покретање услуге је отприлике овако:
ам стартсервице -а <поступак> -н <саставни део>
Синтакса команде за обавештавање БроадцастРецеивер-а је отприлике оваква:
ам емитовати -а <поступак> -н <саставни део>
У већини случајева, за Активности и услуге, не морате експлицитно да наведете радњу. Обично ће вам требати само ако компонента користи једну другу од андроид.интент.ацтион. ГЛАВНИ.
Поврх основне синтаксе, ево како да наведете више података за прослеђивање. Уопштено, све вредности података треба ставити у двоструке наводнике.
- -д омогућава вам да наведете УРИ података.
- -е или --ес омогућава вам да наведете стринг ектра.
- --есн омогућава вам да наведете нулл стринг ектра.
- --ез се користи за навођење логичког додатка.
- --еи се користи за одређивање целобројног екстра.
- --ел је за одређивање дугог екстра.
- --еф проћи ће флоат ектра.
- --ЕУ прослеђује додатни УРИ.
- --ецн може се користити за одређивање имена компоненте ектра.
-
--еиа
ће проследити вредности као Интегер[] ектра., ,... -
--еиал
ће проследити вредности као листу, ,... . - Исти аргументи низа и листе такође функционишу за дуге, флоат и низове. Само замените и са одговарајућим писмом.
- -ф омогућава вам да одредите заставу.
Постоји још више опција понашања које можете да користите, па погледајте уграђену документацију за детаље.
Онемогућавање и омогућавање скоро сваке апликације
Системске апликације у Андроид-у се не могу деинсталирати, а нажалост, многе од њих се такође не могу онемогућити кроз подешавања. Иако вам АДБ неће дозволити да их деинсталирате, може вам помоћи да их онемогућите.
Прво, уверите се да сте добили назив пакета апликације коју желите да онемогућите. Затим испробајте ове команде. Ако једна не успе, покушајте са следећом опцијом.
-
пм дисабле
- Да бисте поново омогућили, користите пм омогућити
-
пм дисабле-усер --усер 0
- Да бисте поново омогућили, користите пм омогућити
-
пм сакрити
- Да бисте поново омогућили, користите пм унхиде
-
пм суспендовати
- Да бисте поново омогућили, користите пм унсуспенд
-
пм деинсталирати -к --корисник 0
- Да бисте поново омогућили, користите пм инсталл-екистинг
- Овај ефективно деинсталира апликацију са вашег корисничког профила. Док је команда за поновно омогућавање требало би ради, нема гаранције да хоће. Можда ћете морати да вратите на фабричка подешавања да бисте вратили апликацију.
- Ако на свом уређају користите више корисничких профила, обавезно замените 0 у горњим командама стварним корисничким ИД-ом који имате.
- Да бисте поново омогућили, користите пм инсталл-екистинг
Да бисте сазнали више, погледајте наш водич на како да деинсталирате преносни и ОЕМ софтвер без роот приступа.
Снимање снимака екрана
Већина Андроид РОМ-ова нуди два згодна услужна програма - сцреенцап и сцреенрецорд - за прављење снимака екрана и снимање активности на екрану. Можете их позвати директно из АДБ љуске да бисте снимили статички снимак екрана или видео исечак екрана вашег телефона и сачували га директно у интерној меморији уређаја.
Синтакса за снимање снимка екрана је прилично јасна:
адб схелл сцреенцап /сдцард/сцреенсхот.пнг
Слично томе, ако треба да преузмете динамички снимак екрана, урадите следеће:
адб схелл сцреенрецорд /сдцард/рецординг.мп4
Као што можете очекивати, алатка за снимање екрана је прилично једноставна, док услужни програм за снимање екрана нуди неколико параметара. Опције за последње су следеће:
-
--величина ВИДТХкХЕИГХТ
- Подесите резолуцију видео датотеке (нпр. "1280к720"). Подразумевано, покушава да преузме главну резолуцију екрана циљног уређаја (ако је подржано), и пада на 1280к720 ако није.
-
--бит-рате РАТЕ
- Подесите брзину видео записа у битовима у секунди. Вредност може бити наведена као битови или мегабити, нпр. '4000000' је еквивалентно '4М'.
-
--бугрепорт
- Можете додати додатне информације, као што је преклапање временске ознаке, што може бити корисно за илустрацију грешака.
-
--временско ограничење ВРЕМЕ
- Подесите максимално време снимања у секундама. Подразумевано/максимално је 180.
-
--дисплаи-ид ИД
- Одредите ИД физичког приказа за снимање. Подразумевано је подешено на примарни екран. Погледајте „думпсис СурфацеФлингер --дисплаи-ид“ за важеће ИД-ове приказа.
-
--вербосе
- Прикажите детаљне информације о сесији снимања.
Можете додатно проширити могућности Андроид-ових уграђених услужних програма за снимање екрана сцрцпи. То је решење за пресликавање екрана отвореног кода које користи моћ АДБ-а.
Пренос бинарних података између рачунара и Андроид уређаја
У случају да не желите да створите пуноправну АДБ шкољку, али желите да уградите поједностављен пренос бинарних података између главног рачунара и циљног Андроид уређаја, можете да користите екец-ин
и екец-оут
команде.
Упркос њиховим продужено постојање, команде екец-ин и екец-оут су још недокументоване. Они могу довести до оштећења датотеке због начина на који различите шкољке рукују улазима и излазима. Користите са опрезом.
Први вам помаже да извршите команду на Андроид-у и унесете нефилтрирани унос конзоле као њен параметар, док други ради управо супротно, тј. покреће команду на Андроид-у и снима њен нефилтрирани бинарни излаз од ОС-а домаћина.
Пример:
адб екец-оут "сцреенцап -п" > „Д:\сцреенсхот.пнг“
Ово ће користити сцреенцап
команду Андроид-а да сними снимак екрана екрана телефона, али га директно чува као сцреенсхот.пнг на Д: партицији главног рачунара (под условом да ради под оперативним системом Виндовс). С друге стране,
адб екец-ин"цд /сдцард && тар -кф -" < "Д:\бацкуп.тар"
Ово ће издвојити садржај датотеке бацкуп.тар ускладиштене на Д: партицији главног рачунара (који ради под Виндовсом) у корену интерне меморије Андроид уређаја.
АДБ је невероватно моћан алат и може учинити много више од онога што је горе наведено. Команде у овом чланку су само корисна полазна тачка. За напреднију употребу, погледајте команде попут цмд -л да бисте видели различите услуге са којима бисте могли да комуницирате и лс -л /систем/бин да видите различите извршне команде доступне у вашем Андроид РОМ-у.
За друга Андроид путовања и тикете, погледајте наше водиче како да рутујете свој Андроид паметни телефон, како инсталирати ТВРП опоравак, и како да инсталирате прилагођени РОМ на свој Андроид уређај.