조언을 계속 받고있는이`adb` 유틸리티는 무엇입니까?


10

이 사이트에 질문의 무리에서 나는 실행하기 위해 우리에게 말하고 답변을 참조 adb shell하거나 adb logcat등등.

이제는 전혀 단서가없는 사용자가 아니므로 Termux를 다운로드하여 설치했으며 명령을 입력 할 수있을 때 셸 프롬프트 adb가 표시됩니다. 앱으로 다운로드합니까? 기본적으로 설치되지 않은 것 같습니다 (Redmi 3S, Android 6.0.1).

또한 일종의 허가 엘리베이터 인 것 같습니다. 같은 su가요? 그렇지 않다면 어떻게 다릅니 까?



@RahulGopi : 예, 사이트에 간결한 답변이있을 수 있다고 생각합니다.
einpoklum

5
그것은 우리에 설명 된 도구입니다 ADB 태그 - 위키 링크 자원과, - 내가 생각하기 전에 : 기억 것을 나중에 말했다 : 우리의 태그의 대부분은 괜찮은 위키가 :) 또한 우리의 매우 사이트에 여기를 참조 : 무엇 ADB 그리고 왜 사용 에 대한? 장치에 어떻게 설치합니까?
Izzy

ADB는 최첨단 컴퓨터에 연결 마이스와 키보드를 사용한다.

답변:


33

adb

간단히 말해 adb(Android Debug Bridge)는 컴퓨터에 설치되어 USB 케이블이나 동일한 Wi-Fi 네트워크를 통해 연결된 전화기에서 셸을 얻는 유틸리티입니다.

Android Lollipop (5.1.1) 및 더 낮은 버전의 OS를 실행하는 특정 기기에서는 adb클라이언트가 휴대 전화에 번들로 제공 되므로 기기를 연결하여 자신을 연결하는 것이 가능했습니다 . 이는 더 이상 가능하지 안드로이드 산들 바람 (6.0)에서 이후, 때문에 구글이 제거 된 adb바이너리 가능한 공격 표면을 줄이기 위해 휴대폰에서합니다.

그러나 adb바이너리를 직접 컴파일 할 필요없이 전화로 클라이언트 를 수동으로 다시 소개 할 수 있습니다. 이 주제 및 컴퓨터에 설치 및 일반적인 문제 해결에 대한 자세한 정보 는 adb 태그 위키 를 참조하십시오 .


어디서 구할 수 있습니까

얼마 전, adb이라는 다른 유틸리티 를 얻기 위해 fastboot공식 패키지를 원한다면 Google에서 전체 Android SDK를 다운로드해야했습니다. XDA에 따르면 오늘날에는 작은 공식 번들이 제공되고 있습니다 . 가장 일반적인 운영 체제에 대한 바이너리가 포함되어 있습니다.


작동 원리

adb컴퓨터에 설치 클라이언트는 내부 서버를 이용하여 연결하거나 감지 전화에 연결을합니다. 그런 다음 사용자는 전화 자체에 다양한 명령을 보낼 수 있으며, 전화에 상주 adbd하는 데몬이 이를들을 수 있습니다 .

를 사용할 때 (UID ) adb라는 사용자를 가장합니다 . 이 사용자는 앱 사용 권한을 부여하고 단순한 사용자보다 더 많은 정보에 액세스 할 수 있다는 점에서 특별합니다. 그렇다고 해서 후자가 모든 사용자를 가장 할 수 있기 때문에 와 같은 의미는 아닙니다 .shell2000adbsu

공식 문서를adb 보면 자세한 정보 와 작업 내용을 얻을 수 있습니다 .


전화에서 명령 발행

통해 실행할 수있는 대부분의 명령 adb은 전화에 사전 설치된 유틸리티 인 경향이 있습니다.

그것들에 액세스하려면 휴대 전화에 터미널 에뮬레이터 앱을 설치해야합니다 (Termux는 특별 PATH하므로 시스템 바이너리를 무시하므로 자체를 지정 합니다). 예를 들어, logcat모바일 장치에서 직접 같은 명령을 실행할 수 있습니다 . 그러나 접두사 를 생략하십시오 adb.

루트 권한이 없으면 실행할 수있는 명령의 범위와 액세스 할 수있는 정보가를 사용하는 경우보다 훨씬 적습니다. adb이를 호출하는 UID는 앱 자체이며 앱은 UID보다 권한이 적습니다 2000.


잘 했어! 불행히도 나는 두 번 공표 할 수 없다 :) // 네, 우리 위키는 너무 자주 "알 수없는 양"입니다. 충분히 자주 지적 할 수 없습니다. 그러나 그것에 언급 된 답변에 링크를 포함시키는 것은 조금 멀리 IMHO입니다. 계속해서 의견을 작성
Izzy

@Izzy 좋은 지적입니다. 링크 스팸이 실제로 필요한지 기다립니다.
Grimoire

제발 투표 해주세요
iBug

@iBug 영광입니다.
Grimoire

2

Android 디버깅 브릿지 (ADB) .

USB 또는 Wi-Fi를 통해 Android 장치로 명령을 보냅니다. 일반적으로 장치에 연결된 컴퓨터에 설치됩니다. 장치 자체에서 ADB 클라이언트를 실행할 수도 있지만 장치를 원격으로 디버깅하는 것이 좋습니다.

그것은 안드로이드 소프트웨어 개발 키트의 일부입니다

그런 다음 SDK 관리자를 사용하여 플랫폼 도구를 다운로드 할 수 있습니다.

플랫폼 도구에 관심이있는 경우 여기에 더 직접적인 링크가 있습니다.

ADB 문서


장치에 설치되지 않은 경우 사람들이 장치의 셸에서 사용하도록 제안하는 이유는 무엇입니까? 예를 들어 내가 준 예에서?
einpoklum

그건 좋은 지적이야. 아마도 adb 명령이 안드로이드 장치에 연결하는 "클라이언트"라고 말하는 것이 더 정확할 것입니다. 안드로이드 장치는 왜 클라이언트를 가질 수도 있습니다. 그러나 실행 ssh를 로컬 호스트와 같은 이잖아 그렇다고
jdwolf

솔직히 말해서 문서는이 모든 것을 잘 설명합니다 : developer.android.com/studio/command-line/adb.html
jdwolf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.