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


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전혀 관계가없는 문제를 해결하는 (유일한 또는 권장 솔루션으로 선전해서는 안 이는).

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

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″

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

이제 다음 명령을 입력하십시오 :
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 0bb418d1in으로 바꿉니다./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.