개발을위한 장치 설정 (???????????? 권한 없음)


282

삼성 갤럭시 넥서스 폰 ( Android 4.0 플랫폼)을 사용하고 있습니다.

Ubuntu Linux OS에서 Android 앱을 개발 중입니다. Samsung 핸드셋 장치에서 직접 응용 프로그램을 실행하고 싶기 때문에 다음 설정 단계를 수행했습니다.

  1. 내 프로젝트 AndroidManifest.xml파일 android:debuggable="true"에서 <application>요소에 추가 되었습니다.

  2. 기기의 설정> 보안 사용 알 수없는 소스에서

  3. 장치에서의 설정> 개발자 옵션이 활성화 된 USB 디버깅

  4. 내 컴퓨터 /etc/udev/rules.d/51-android.rules에서 다음 내용으로 파일을 작성했습니다 .

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev" 
  5. 내 컴퓨터에서 chmod a+r /etc/udev/rules.d/51-android.rules명령을 실행하십시오.

그런 다음 컴퓨터에서 터미널을 열고 adb devices명령을 실행하면 다음과 같은 결과 가 나타납니다.

List of devices attached 
????????????    no permissions

내 장치는 보지 못했지만 ???????????? no permissions다음 명령을 실행했습니다.

 adb kill-server
 adb start-server
 adb devices

그러나 나는 여전히 얻었다.

List of devices attached 
????????????    no permissions

왜? 내가 무엇을 놓치고 있습니까?


adb kill-server를 실행 한 후 * 데몬이 실행되지 않는다는 메시지가 표시되었습니다. 포트 5037 성공적으로 시작 * * 데몬에 지금 시작 * --- u는이 MSG 얻을 때까지 그것을 시도하지 않는 경우
— 안드로 셀바

2
사용자가 plugdev그룹 에 있는지 확인하십시오 .
— Sergey Glotov 2019

2
실행 => sudo adb start-server (root 액세스를 사용하여 adb 실행)
— 혼란 스러움

답변:


451

나를 위해 일하는 것은 adb 서버를 죽이고 다시 시작하는 것입니다. 리눅스에서 : sudo adb kill-server그리고 sudo adb start-server. 그런 다음 상자에서 거의 모든 장치를 감지합니다.


1
<android-SDK> / platform-tool /에서 "adb devices"명령을 실행하기 위해 root를 사용하는데 "No command 'adb'found"가 표시됩니다. 왜 그렇습니까?
— Leem.fin 2012

8
adb에 + x가 있는지 확인하십시오 -rwxrwxr-x 1 martin martin 156K 2011-11-09 15:40 adb. 디렉토리로 직접 이동하여 "sudo ./adb devices"를 통해 시작하십시오. sudo없이 실행할 수 있다면 sudo로 실행할 수 있어야합니다 ... 문제가 무엇인지 잘 모르겠습니다 ...
— WarrenFaith

8
udev 권한이 올바르게 설정된 경우 adb를 루트로 실행할 필요가 없습니다. 아래에서 grebulons 답변을 보거나 Android 설명서를 참조하십시오. developer.android.com/tools/device.html
— gnac

4
중요한 제안 중 하나는 USB 케이블을 분리하는 것이므로 adb를 재설정하고 케이블을 연결하면 작동합니다. 내 상황에서는 케이블을 연결 한 상태에서 절차를 수행했지만 작동하지 않습니다.
— androidevil

6
명령은 다음과 같습니다 adb kill-server sudo adb start-server.adb devices
— Asim

350

마침내 대답을 찾을 때까지 아무것도 효과가 없었습니다. http://ptspts.blogspot.co.il/2011/10/how-to-fix-adb-no-permissions-error-on.html

앞으로 텍스트가 사라질 경우를 대비하여 여기에 텍스트를 복사하고 있습니다.

다음 내용으로 /tmp/android.rules라는 파일을 만듭니다 (16 진 공급 업체 번호는 공급 업체 목록 페이지에서 가져옴).

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1bbb", MODE="0666"

다음 명령을 실행하십시오.

sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
sudo chmod 644   /etc/udev/rules.d/51-android.rules
sudo chown root. /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo killall adb

전화와 컴퓨터 사이의 USB 케이블을 분리하십시오.

전화를 다시 연결하십시오.

운영 adb devices이제 전화 액세스 권한이 있는지 확인 .

이 사용할 수 있다는하십시오 노트 , USER="$LOGINNAME"대신 , MODE="0666"에 .rules대체 파일$LOGINNAME 로그인 이름id -nu 인쇄 할 수 수 있습니다.

경우에 따라 udev 규칙 파일에 끝과 가까운 정렬 이름 (예 :)을 제공해야 할 수도 있습니다 z51-android.rules.


7
참고 : Ubuntu Precise의 경우 파일 이름은 esausilva.com/2010/05/13/…70-android.rules 과 같습니다 . 또한 udev모든 adb 프로세스 를 다시 시작 하고 종료 해야한다는 것을 알려주는 것에 대한 조언. 매력처럼 일했다!
— 에두아르 루카

비슷한 접근 방식이 공식적으로 developer.android.com/tools/device.html에
— bjunix

4
이것은 잘 작동했지만 다른 답변에서 @luciana가 지적한 것처럼 sudo udevadm control --reload-rules서버를 다시 시작하는 것으로 충분하지 않은 경우 udev 규칙을 새로 고치려면 호출해야 할 수도 있습니다 .
— serjlee

4
sudo-ing adb는 Linux에 대한 요구 사항이 아니므로 정답으로 표시해야합니다.
— Zac

1
이것이 유일한 정답입니다. 감사합니다! 또한 lsusb 출력을 통해 필요한 공급 업체가 포함되어 있는지 확인할 수 있습니다. 이상하게도 Android 7.1.2로 업그레이드 한 후 (adb를 루트로 실행하더라도) 내 장치 중 하나 (OnePlus One) 만 갑자기 작동을 멈췄습니다. 위에서 설명한 것처럼 udev 규칙을 추가하면 다시 작동합니다.
— user1209216

77

다음 명령을 입력하십시오 :

adb kill-server sudo ./adb start-server adb devices

문제는 루트로 adb 서버를 실행하지 않는 것입니다.


4
아이디어는 허용 된 답변과 동일하지만 제공된 예제로 인해 도움이되었습니다. 감사합니다
— user907860 2016 년

1
@ user907860 실제로 sudo :)를 작성해야하는 이유를 설명하기 때문에 허용 된 답변보다 낫습니다. (허용 된 답변을 보았을 때하지 않은)
— stan0

왜 adb가 루트로 실행되어야하는지 아는가?
— stan0

죄송합니다, 기억 나지 않습니다
— iancrowther

2
adb가 루트로 실행되어서는 안됩니다. 이것이 필요한 경우 시스템이 잘못 구성되어 있습니다. 모든 것 앞에 "스도"던지기를 멈 추면 보안에 큰 영향을 미칩니다.
— hackel

55

위의 모든 것을 시도했지만 아무도 작동하지 않았습니다 .. MTP에서 카메라 (PTP)로 연결된 것으로 전환했을 때 마침내 작동했습니다.


3
이 작업을 수행하는 방법을 궁금해 분들을 위해 ... 시스템 설정> 스토리지> 오른쪽 상단 버튼 : USB 컴퓨터 연결> 대신 미디어 장치의 연결로 선택 카메라 (PTP) (MTP)
— 대오 알버스

3
남자, 나는 두 시간 같은 솔루션을 찾고 있었다, 이것은 우분투 16.04에 나에게 작동합니다, 감사합니다
— Jorius

이것이 가장 먼저 확인해야합니다. 나를 위해 작동
— m50

32

실행 주장에 이르기까지이 질문에 게시 나쁜 답변이 많이 있습니다 adb으로 root전혀 관계가없는 문제를 해결하는 (유일한 또는 권장 솔루션으로 선전해서는 안 이는).

다음은 한 번 에 모든 장치 adb와 fastboot장치 의 권한을 관리하는 가장 짧고 가장 보편적 인 단일 레시피입니다 .

echo 'ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666"' | sudo tee /etc/udev/rules.d/99-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --verbose --action=add --subsystem-match=usb

또는 내가이 요지에 게시 한 약간 더 긴 버전을 사용할 수 있습니다 .

OP가 그의 질문에서 잘못한 특정 사항 udev은 .rules파일 을 편집 한 후 규칙을 다시로드하지 않았습니다 .

또한 OP는 자신의 휴대 전화에 어떤 Android 빌드 (일명 ROM)도 포함시키지 않았습니다. 이 idVendor값은 소프트웨어에서 설정되므로 ROM에 따라 다릅니다. 따라서 04E8원래 규칙에 사용 된 값은 Samsung stock ROM이있는 장치에서만 작동했을 것입니다. 그러나 이것은이 udev규칙 에는 문제가되지 않습니다 . VendorID에 관계없이 모든 장치 adb또는 fastboot인터페이스 와 일치합니다 .


adb 장치 이전의 adb kill-server가 작동하는지 확인하는 단계가 누락되었습니다.
— mstrange

1
이것은 안드로이드 8.1에서 더 이상 작동하지 않는 것 같습니다. 장치 ID로보고하는 adb를 어떻게 알았습니까?
— Cachapa

Android 7.1.2에서 나를 위해 일했습니다
— Amerzilla

@Cachapa, 모든 Android 버전에서 작동합니다. 최신 (이 글을 쓰는 시점)조차도 Android P Preview 4는 동일한 adb 인터페이스 ID를 사용합니다 -android.googlesource.com/platform/system/core/+/…
— Alex P.


16

Archlinux에서는 가끔 이런 일이 발생할 수 있습니다. 수정 :

$ sudo -s
# adb kill-server
# adb start-server

그것이 그것이 작동하게하는 유일한 것인지 확실하지 않습니다 ... 위의 것들을 시도했습니다. 그러나 VBox 의이 게시물 우분투는 LG G3을 승인하지 않았습니다. 감사합니다 Keenan
— lastboy

왜 그런지 모르겠지만 sudo adb kill-server; sudo adb start-server작동하지 않았지만 이것이 작동했습니다.
— Hritik

9

데비안을 사용하는 사용자는 "/etc/udev/rules.d/51-android.rules"파일을 생성하기 위해 Ubuntu에서 장치를 설정하기위한 가이드가 작동하지 않습니다. 나는 여기 에서 지시를 따랐다 . 참고로 여기에 똑같이 내려 놓으십시오.

이 파일을 수퍼 유저로 편집

sudo nano /lib/udev/rules.d/91-permissions.rules

이것과 비슷한 텍스트를 찾으십시오

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0664″

그런 다음 아래와 같이 모드를 0666으로 변경하십시오.

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0666″

이로 인해 adb가 작동하지만 인식 할 수 있도록 장치를 설정해야합니다. 이 파일을 수퍼 유저로 만들어야합니다.

sudo nano /lib/udev/rules.d/99-android.rules

입력

SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, ATTRS{idVendor}==”0bb4″, MODE=”0666″

위의 행은 HTC에 대한 것이며, 전체 목록을 보려면 @grebulon의 게시물을 따르십시오.

파일을 저장 한 다음 수퍼 유저로 udev를 다시 시작하십시오.

sudo /etc/init.d/udev restart

USB를 통해 전화를 연결하면 프로젝트를 컴파일하고 실행할 때 감지되어야합니다.


5

나는 같은 문제를 겪었다. 해결책은 동료와 같다 : (그런데, 당신은 장치를 루팅 할 필요가 없다.)

  1. 수퍼 유저로 전환하려면 "su"를 입력하십시오.
  2. 경로 / adb kill-server.
  3. your-path / adb 시작 서버.
  4. 오류가 발생하지 않으면 루트 계정에 "your-path / adb devices"가있는 장치 목록을 볼 수 있습니다.
  5. 수퍼 유저를 종료하십시오.
  6. 이제 계정에서 "adb 기기"를 수행 할 수 있습니다.

즐겨.


1
를 사용하여 로그인 할 수없는 경우을 su사용하십시오 sudo su. 나는했다. 또한 사용자 사용을 종료하는 방법을 모른다면 exit.
— Pijusn

4

조금 늦을 수도 있지만 Android ADB USB 드라이버를 수동으로 추가하는 방법에 대한 훌륭한 기사가 있습니다. Ubuntu 14.04 LTS에서 Android ADB USB 드라이버 수동 추가

링크 내용을 추가하도록 편집

단계

참고 : USB 디버깅 모드 에서 Android 장치를 연결했는지 확인하십시오

터미널 ( CTRL + ALT + T)을 열고 다음 명령을 입력하십시오. lsusb

이제 이와 비슷한 답변을 얻을 수 있습니다.
Bus 002 Device 013: ID 283b:1024

참고 : 이것을 참조하여Bus 002 Device 008: ID 283b:1024
{idVendor}==”283b” {idProduct}==”1024″

이제 다음 명령을 입력하십시오. sudo gedit /etc/udev/rules.d/51-android.rules
그러면 Android 규칙 파일 ( 51-android.rules) 이 생성 되거나 지정된 위치에서 기존 파일이 열립니다 ( /etc/udev/rules.d).

이 파일에 새 줄을 추가하십시오.
SUBSYSTEM==”usb”, ATTRS{idVendor}==”283b”, ATTRS{idProduct}==”1024″, MODE=”0666″

참고 편집 idVendor및 idProduct장치 값으로 값을. 저장하고 닫습니다.

이제 다음 명령을 입력하십시오 :
sudo chmod a+rx /etc/udev/rules.d/51-android.rules-읽기 / 실행 권한을 부여
sudo service udev restart하십시오.udev 서비스를

이제에를 추가해야 idVendor합니다 adb_usb.ini. 다음 명령을 입력하십시오 :
cd ~/.android
gedit adb_usb.ini

다음 값을 추가하십시오 0x283b

이것은 0x ( idVendor값)에 지나지 않습니다 . 따라서 값을 바꾸십시오. 장치 값과 관련하여 파일을 저장하고 닫습니다.

이제 다음 명령을 입력하십시오 :
sudo service udev restart

Android 기기를 연결 해제했다가 다시 연결하십시오.
이제 다음 명령을 입력하십시오 :
adb kill-server
adb devices

당신은 간다! 장치가 나열되어 있어야합니다.

Ubuntu 14.04 LTS 에서 수동으로 Android ADB USB 드라이버 추가

나를 위해 일했다.


4

Galaxy S3에서도 동일한 문제가 발생했습니다. 내 문제는 idVendor가치 04E8가 옳지 않다는 것이었다. 올바른 것을 찾으려면 스마트 폰을 컴퓨터에 연결 lsusb하고 터미널에서 실행 하십시오. 스마트 폰이 다음과 같이 나열됩니다.

Bus 002 Device 010: ID 18d1:d002 Google Inc.

따라서 올바른 idVendor값은 18d1입니다. 그리고 그 라인은 다음과 같아야합니다 /etc/udev/rules.d/51-android.rules.

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

그런 다음 달리고 sudo udevadm control --reload-rules모든 것이 작동했습니다!


1
당신은 어쩌면 찾으 셨나요?ATTR{idVendor}=="18d1"
— Tanasis

3

사용 M0Rf30/android-udev-rulesGitHub의 커뮤니티 udev에-규칙을 유지

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

이것은 내가 지금까지 본 sudo apt-get install android-tools-adb 공식 문서 에서 권장 되는 것보다 훨씬 완전한 udev-rules 목록 이며, 그 문제를 해결했습니다.


1
왜 하나의 규칙이 모두에게 효과적 일 때 "목록 유지"에 귀찮게됩니까? stackoverflow.com/a/45006231/1778421
— Alex P.

@AlexP. 고마워 나는 그 방법에 대해 몰랐다. 공식 가이드가 왜 대신 권장하지 않는지 아십니까?
— Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

게으름과 지식 관성 때문에 주로. 최초의 Android 개발자는 동일한 공급 업체 ID를 가진 기기를 사용하여 생각할 수있는 가장 쉬운 방법을 사용했습니다. 더 많은 공급 업체가 더 많은 장치를 만들었을 때 개발자는 규칙 파일에 더 많은 ID를 계속 추가했습니다.
— Alex P.

2
  1. http://developer.android.com/guide/developing/device.html 의 지침을 따르십시오 (아카이브 링크).
  2. 의 공급 업체 ID 0bb4를 18d1in으로 바꿉니다./etc/udev/rules.d/51-android.rules

    또는 다음과 같이 다른 줄을 추가하십시오.

    SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
  3. 컴퓨터를 다시 시작하거나 udev 서비스를 다시 시작하십시오.

1

udev를 다시 시작하면 adb 서버를 종료하고 adb server goto android sdk 설치 경로를 시작하고 sudo에서 모두 수행하십시오. 그런 다음 adb 장치를 실행하면 권한 문제가 해결됩니다.


1

내 장치는 POSITIVO이고 내 운영 체제는 그렇습니다. Ubuntu 14.04 LTS 문제는 변수 이름에있었습니다.

/etc/udev/rules.d/51-android.rules 파일을 만들고 SUBSYSTEM=="usb", SYSFS{idVendor}=="1662", MODE="0666"

장치를 분리하고 실행했습니다.

$ sudo udevadm control --reload-rules
$ sudo service udev restart

이 후에 나는 안드로이드 모드를 개발자 모드에서 다시 연결하고

$ adb devices

List of devices attached 
1A883XB1K   device

1

플러그를 뽑지 않고

제공된 모든 답변은 USB 케이블을 분리했다가 다시 연결할 수 있다고 가정합니다. 이것이 불가능한 상황에서 (예를 들어, 원격 일 때), 제안 된 udev 규칙이 플러그를 다시 꽂을 때 본질적으로 다음을 수행 할 수 있습니다.

lsusb

관심있는 장치를 찾으십시오 (예 :

Bus 003 Device 005: ID 18d1:4ee4 Google Inc. Nexus

버스의 버스 번호를 기록한 다음 (예 003: 버스의 경우) 실행하십시오 .

sudo chmod a+w /dev/bus/usb/003/*

분명히 이것은 당신이 원하는 것보다 더 관대 할 수 있지만 (이것보다 더 많은 장치가 연결되어있을 수 있습니다), 당신은 아이디어를 얻습니다.


udev장치를 다시 연결하지 않고 새 규칙 을 적용 하려면 udevadm trigger --verbose --action=add --subsystem-match=usb명령을 사용하십시오 .
— Alex P.

1

adb다른 답변이 제안하는 것처럼 서버를 루트로 실행해서는 안됩니다 . 대신 Arch Linux를 사용하는 경우 다음을 수행하십시오.

  1. android-udevPacman으로 패키지 설치
  2. udev 규칙을 다시로드하십시오.

    # udevadm control --reload-rules
  3. adbusers그룹에 자신을 추가 한 다음 로그 아웃하고 로그인하십시오.

    # usermod -aG adbusers $LOGNAME

출처 : https://wiki.archlinux.org/index.php/android#Configuring_adb


0

GROUP="plugdev"사용자의 기본 그룹 을 사용 하지 마십시오.


내 이름을 사용하고, 그것은 도움이되지 않습니다
— Leem.fin

0

우분투 12.04 LTS의 경우 HTC Incredible usb 모드를 charge에서 Media로 변경해야했는데 장치가 adb로 표시되었습니다. 물론 두 경우 모두 디버깅이 이미 진행 중입니다.


0

하시기 바랍니다 사용에 제안 된 솔루션을 따르지 않는sudo ( sudo adb start-server)! 이것은 루트 (관리자)로 adb를 실행하며 그렇게 실행되어서는 안됩니다! 나쁜 해결책입니다 !

root로 실행되는 모든 파일은 파일을 작성하거나 수정하면 root에서만 사용하도록 권한을 변경할 수 있습니다. 다시 말하지 마십시오!

할 옳은 일이 , 사용자가 권한을 가지고 있는지 확인 체크 아웃 시스템을 설정 한 이 가이드 내가 제대로 수행하는 방법에 작성합니다.


0

나는 같은 문제가 있었고 다음 단계를 따랐다.

# Clone this repository
git clone https://github.com/M0Rf30/android-udev-rules.git
cd android-udev-rules
# Copy rules file
sudo cp -v 51-android.rules /etc/udev/rules.d/51-android.rules
# OR create a sym-link to the rules file - choose this option if you'd like to update your udev rules using git.
sudo ln -sf "$PWD"/51-android.rules /etc/udev/rules.d/51-android.rules
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# If adbusers group already exists remove old adbusers group
groupdel adbusers
# add the adbusers group if it's doesn't already exist
sudo mkdir -p /usr/lib/sysusers.d/ && sudo cp android-udev.conf /usr/lib/sysusers.d/
sudo systemd-sysusers # (1)
# OR on Fedora:
groupadd adbusers
# Add your user to the adbusers group
sudo usermod -a -G adbusers $(whoami)
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# OR on Fedora:
sudo systemctl restart systemd-udevd.service
# Restart the ADB server
adb kill-server
# Replug your Android device and verify that USB debugging is enabled in developer options
adb devices
# You should now see your device

위의 단계는 android-udev-rules 에 설명되어 있습니다. 그것은 나를 위해 일했다.

다시 연결 한 후 전화기 화면에 표시되는 대화 상자를 확인하십시오.


0
sudo usermod -aG plugdev $LOGNAME

이 명령은 나를 위해 일했다


-1

나는 su를 사용했고 작동하기 시작했다. 일반 사용자와 Jetbrains를 사용할 때이 문제가 발생하지만 su 모드에서 Jetbrains를 다시 시작한 후 아무 작업도하지 않고 장치를 볼 수 있습니다.

Ubuntu 13.04 및 Jetbrains 12.1.4를 사용하고 있습니다.


-1

/home/username/.android/ 에있는 adb_usb.ini 파일을 편집 할 수도 있습니다. . 이 파일에는 연결하려는 장치의 id 공급 업체 목록이 포함되어 있습니다. 장치의 id 공급 업체를 새 줄에 추가하면됩니다 (줄당 하나의 id 임). 그런 다음 adb 서버를 다시 시작하고 장치를 다시 연결하십시오.

우분투 12.10에서 나를 위해 일했습니다.


-1

어쨌든,이 문제를 해결하기 위해 무엇을했는지 ( Ubuntu에서 ).

  1. 어떤 경우에 이러한 명령을 실행해야하는지 정의했습니다. 대부분의 우분투 사용자에게는 홈 폴더 (숨겨진 파일)가 있습니다.bashrc )가 있습니다.

    이 명령의 실행을 기록 할 수 있습니다. 그러나이 명령은 bash콘솔에 명령 을 입력하면 트리거됩니다 .

  2. 쉘 .zshrc가 있으므로 다음을 수행했습니다.

    열린 콘솔 : gedit .zshrc

파일이 열리면 다음 줄을 추가하십시오.

./.add_device_permissions.sh

이후 또는 전에이 파일을 작성해야합니다.이 파일 .add_device_permissions.sh에는 다음이 작성됩니다.

#!/bin/bash
# Add permissions
ADB="/home/vadimm/Android/Sdk/platform-tools/adb"
$ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices

또한 비밀번호를 하드 코딩해야하는 .permissions_redmi_note를 만들어야합니다.

  1. .zshrc불필요하게 파일에 추가하지 않기 위해 시스템 자체를 시작할 때 경로를 지정할 수 있습니다.Startup Applications Preferences

"추가"를 누르고 명령을 작성하는 위치 : /home/vadimm/.add_device_permissions.sh

  1. 또한 명령 줄에서 다음 명령을 사용해보십시오. ./adb devices ./adb kill-server sudo ./adb devices ./adb kill-server ./adb devices

-2

사용할 때 다음과 같은 오류 메시지가 나타나는 사람 adb devices

no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

다음을 실행하십시오

sudo -s 
adb kill-server
adb start-server

맞춤 빌드 Android 기기에서 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.