Android Studio는 물리적 장치를 Null로 인식합니까?


89

저는 Android Application for Android(SDK 최소 버전 14)를 개발 중이며 Samsung Galaxy 2 and Nexus 7. 그러나 응용 프로그램을 실행하려고 할 때 (에서 실행을 클릭하여 AndroidStudio) AS는 아래 그림과 같은 태블릿 정보를 인식하지 못합니다.

장치가 Null입니다.

흥미로운 점은 위의 그림에서 볼 수 있듯이 API 1Android 버전이 4.2.2 태블릿이 이미 USB debugging개발자 옵션에서 " "을 ( 를) 수락하도록 설정 되어 있을 때 AS가 장치 SDK를 감지하고 있으며 태블릿을 재부팅하고 AS를 다시 시작했습니다. ,하지만 여전히 같은 문제가 발생합니다 (모든 것이 괜찮습니다 nexus 7 and Samsung Galaxy 2).

작업중인 태블릿 / 장치는 "VeryKool"T742입니다.

Environment information:
 OS: ubuntu
 AndroidStudio version: 0.8.6

 Tablet Android version:4.2.2
 Tablet Kernel version: 3.4.5
 App min SDK: 14

3
나는 전에이 문제가 있었다. 단지 태블릿이 PC에서 인식되지 않으므로 사용자에게 사용 권한을 부여하지 않습니다. adb 서비스를 루트 (PC에서)로 시작하거나 간단히이 장치 유형을 udev rouls에 추가 할 수 있습니다. 그러면 카메라 트릭없이 작동합니다. 카메라 모드에서 변경하면 장치는 단순히 시스템에 알려진 다른 장치 / 제품 ID로 자신을 소개합니다.
user3387542

@ user3387542하지만이 장치 유형을 내 udev에 추가하는 방법은 무엇입니까?
AbdelHady 2014-12-25

와. 정말 고마워. 나는 그것에 시간을 낭비했습니다. 나를위한 최종 해결책은 / root 사용자로 android studio를 시작하는 것입니다. 내가 centos OS를 사용하고 있기 때문에
Abdul Mohsin

답변:


161

Ok 그래서 마침내 문제를 발견했습니다. 분명히이 장치에서 카메라로 연결하도록 설정해야합니다 (USB 디버깅이 이미 활성화 된 후에도)

여기에 이미지 설명 입력

또한 이 링크 는 설정 프로세스를 설명합니다.


3
나는이 문제에 대해 며칠 동안 찾고 있었고 해결책은 "카메라"로 연결하는 것입니다. 이것은 너무 이상하지만 작동합니다! 덕분에 공유
AbdelHady

제 경우에는 MTP가 선택되었고 PTP로 전환 한 다음 MTP로 돌아가서 작동해야했습니다.
rjlopes

내 작업도 했어! 그래도 이유가 무엇인지 모르겠습니다!
bmnepali

제 경우에는 터미널 adb devices
에서도이

57

adb가 올바른 권한으로 연결되지 않았을 때이 오류를 몇 번 보았습니다.

터미널에서 시도

~/Android/Sdk/platform-tools> ./adb devices    

돌아 오면

<deviceIdentifier> no permissions

그런 다음 올바른 perms로 adb를 다시 시작해야합니다.

~/Android/Sdk/platform-tools$> ./adb kill-server
~/Android/Sdk/platform-tools$> sudo ./adb devices

그게 효과가 있다면 당신은 얻을 것입니다

List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
<deviceIdentifier>  device

그 후에는 Android Studio에서 더 이상 Sdk 버전 해결 문제가 없습니다.


1
이렇게하면 잠시 동안 내 장치 이름 (null없이)을 볼 수 있습니다. 다시 null이 표시됩니다
Shruti

1
연결 유형이 변경된 후에도 Google Pixel 기기가 null이기 때문에 이것이 가장 정답입니다.
kostyabakay

대박! 감사합니다.
Kirill Starostin

22

장치를 Ubuntu 시스템에 연결 한 후 다음 명령을 실행하십시오.

adb devices

이것은 나를 위해 작동합니다.

참고 : 휴대폰에서 파일 전송 옵션을 선택했는지 확인하십시오.


stackoverflow.com/a/34598874/9022007 adb 장치가 작동하지 않는 경우에도 시도해보십시오
Rashil Shah

그것은 나를 위해 일하고 있습니다. > 변경 '파일 전송'으로 - 1) ADB 장치 2) 설정 -> 연결 장치 -> USB
amitabha2715

17

Ubuntu에서 8.0의 Pixel XL을 사용하여 컴퓨터에 연결 한 상태에서이 작업을 수행해야했습니다.

설정-> 연결된 장치-> USB-> '파일 전송 중'으로 변경


무엇의 설정?
arekolek

전화 설정
RESTfulGeoffrey

내 Pixel이 연결되어 잠시 후 null로 전환되는 것을 발견했습니다. 장치를 계속 다시 시작했지만 같은 일이 발생했습니다. 이것은 때때로 그것을
고치지

그것은 나를 위해 일하고 있습니다. > 변경 '파일 전송'으로 - 1) ADB 장치 2) 설정 -> 연결 장치 -> USB
amitabha2715

이것은 픽셀 3에서 2019 년에도 여전히 작동합니다. (저는 영구적 인 해결책을 찾기 위해 여기에 왔지만 여전히 찾을 수 없습니다.이 작업은 여전히 ​​작동합니다.)
Wesely

12

Ubuntu 18.04에서 Nexus 5 / 5X / Pixel 2 XL과 동일한 문제가 있습니다.

영구적 인 해결책은 항상 장치에 액세스 할 수 있도록 udev에 규칙을 추가하는 것입니다.

  • 명령을 사용하여 장치를 찾습니다 lsusb. 예를 들어 Pixel 2 XL의 경우 다음과 같이 출력됩니다.

    Bus 001 Device 003: ID 18d1:4ee7 Google Inc.
    
    # This means: BUS=001, DEVICE=003, VENDOR=18d1, PRODUCT=4ee7
    
  • 이제 권한을 확인하십시오. 001 및 003을 매개 변수로 바꿉니다.

    ls -l /dev/bus/usb/001/008
    
    # Output: crw-rw-r-T 1 root root 189, 8 Nov 10 18:34 /dev/bus/usb/001/003
    # Unless you are root, you are missing the permissions to access the device
    
  • 이 문제를 해결하려면 sudo nano /etc/udev/rules.d/51-android.rules다음 내용 으로 udev 규칙 파일을 만듭니다 .

    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", 
    GROUP="plugdev", SYMLINK+="android%n"
    
    # You need to replace "18d1" and "4ee7" with your output of `lsusb` above
    
  • 장치를 분리했다가 다시 연결하십시오. 이제 항상 인식되어야합니다. 그렇지 않은 경우 마지막으로 adb 서버를 adb kill-server.

출처 : http://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/


6

Ubuntu에서 Android Studio를 사용하는 동안 동일한 문제가 발생했습니다. 분명히 나에게 수정은 장치의 USB 연결 모드를 MTP 로 설정하는 것이 었습니다 .


6

먼저 adb 버전을 확인하십시오.

Android Debug Bridge version 1.0.32

그런 다음 데몬을 다시 시작하십시오.

sudo adb kill-server
sudo adb start-server

그렇지 않으면 adb를 먼저 설치하고 데몬 Worked for me, in ubuntu 16.04.3을 다시 시작하십시오.


5

최근에 저는 Vivo와 MI 폰에서 같은 문제에 직면했습니다. 이 스레드에 설명 된 모든 것을 시도했습니다. MTP, PTP로 연결을 시도했습니다. 그러나 아무것도 작동하지 않았습니다.

여러 번 재 시도한 후 내 사례에 대한 해결책을 찾았으며 다른 사람에게도 도움이 될 수 있습니다.

  1. Android Studio에서 터미널 창 열기
  2. 다음 명령을 사용하여 ADB 서버를 종료하십시오. adb kill-server
  3. 다음 명령을 사용하여 ADB 서버를 다시 시작하십시오. adb start-server

내 문제가 해결되었습니다.


감사합니다. 내 하루를 구했습니다. 항상 24213213 [null]을 표시하지만 조작 후에는 이제 삼성 Galaxy를 표시합니다 ...
waza123

4

장치가 연결되어있는 동안 디버깅을 비활성화하고 다시 활성화하는 것이 나에게 트릭이었습니다.


4

나는 같은 문제가 있었다.

내 Android 기기 설정을 열고 USB 디버깅을 위해 "끄기"를 선택한 다음 "켜기"를 선택하여 문제를 해결했습니다.


4

나는 같은 문제가 있었다. 나는 이것을 수행함으로써 해결했다.

  1. Android-> SDk-> 플랫폼 도구

2. (우분투 사용자) 터미널을 열거 나 cmd (윈도우 사용자)를 엽니 다.

3. "sudo adb kill-server"명령 입력

4. Android 스튜디오로 이동 한 다음 장치를 다시 연결합니다.


1

우분투에서 adb를 설치하는 것이 저에게 효과적이었습니다. 기본 안드로이드 스튜디오 1에 문제가 있다고 생각합니다.

터미널 사용 명령

sudo apt install adb 

0

때때로 Linux (제 경우에는 Centos 6)에서 루트 사용자로 Android Studio를 시작하지 않았기 때문일 수 있습니다. 루트 사용자로 android studio를 다시 시작하고 시도하십시오!


2
이것은 끔찍한 생각입니다. userland 응용 프로그램을 루트로 시작하지 마십시오!
agilob

0

우분투 컴퓨터의 경우 전송 옵션을 선택하면 디버깅뿐만 아니라 Android 스튜디오에서 장치가 감지됩니다. 일반적으로 장치는 Windows의 경우 충전 상태이지만 우분투의 경우 작동 방식입니다.

또한 여러 번 장치가 감지되지 않으면 동일한 작업을 다시 수행하십시오.


0

MTP 모드가 필요하지만 USB 측에 나타나지 않습니다. 메뉴 표시 줄 항목의 저장소 설정에서 PC 연결 유형을 ... MTP로 설정합니다.


0

실행중인 프로세스를 확인하고 여러 개의 adb 프로세스가 실행 중이며 이것이 나를 위해 일을 망치고 있다고 생각합니다. 모두 죽이고 Studio를 다시 시작하십시오. HTC Sync Manager, GenyMotion 등 및 여러 Android Studio 창이 열려있는 경우 여러 개의 충돌하는 adb 프로세스가 발생할 수 있습니다.


0

특히 Ubuntu 또는 기타 플랫폼에서. adb 버전을 확인하십시오. 나는 이것을 충분히 강조 할 수 없다. 특히 위의 답변이 작동하지 않고이 링크 도 작동하지 않는 경우 업데이트되거나 최신 버전인지 확인하십시오 .

내 플랫폼 도구 폴더를 업데이트 한 후

PATH_TO/Android/Sdk/platform-tools

그것은 또한 adb그것을 포함합니다 . 나는 달렸다
adb devices

먼저 무단으로 표시되고

당신은 안드로이드 장치를 뽑았다가 다시 연결합니다. 그런 다음 시스템이 장치를 읽기 전에 전화기에서 권한을 요청합니다.


0

제 경우에는 단순히 휴대 전화를보고 팝업 확인란을 선택하여 USB 디버깅을 허용하는 것이 저를 위해 일했습니다.


-1

android studio의 터미널로 이동하여 "adb devices"를 실행하십시오. 연결된 장치가 표시됩니다. 그런 다음 앱을 실행하면 장치가 표시됩니다.

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