Android Studio nhận ra Thiết bị vật lý là Null?


89

Tôi đang phát triển Android Application for Android(SDK phiên bản tối thiểu 14) và tôi đã thử nghiệm nó bình thường với các máy tính bảng chẳng hạn Samsung Galaxy 2 and Nexus 7. Tuy nhiên khi tôi cố gắng chạy ứng dụng (bằng cách nhấp vào chạy trong AndroidStudio), AS không nhận ra thông tin máy tính bảng, được hiển thị trong hình dưới đây.

Thiết bị không có giá trị

Điều thú vị là như trong hình trên, AS cũng đang phát hiện sdk của thiết bị như API 1khi nó là phiên bản Android 4.2.2 . Máy tính bảng đã được đặt để chấp nhận " USB debugging" trong tùy chọn nhà phát triển, tôi đã thử khởi động lại máy tính bảng và khởi động lại AS , nhưng tôi vẫn gặp vấn đề tương tự (mọi thứ đều ổn nexus 7 and Samsung Galaxy 2).

Máy tính bảng / thiết bị tôi đang sử dụng là "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
Tôi đã có vấn đề này trước đây. Chỉ là máy tính bảng không được máy tính của bạn nhận dạng như vậy và do đó không cho phép người dùng của bạn sử dụng nó. Bạn có thể khởi động dịch vụ adb dưới dạng root (trên máy tính của bạn) hoặc chỉ cần thêm loại thiết bị này vào đâu đó trong rouls udev của bạn. Sau đó, nó sẽ hoạt động mà không cần thủ thuật máy ảnh. Nếu bạn thay đổi ở chế độ máy ảnh, thiết bị của bạn chỉ cần giới thiệu bản thân với một thiết bị / id sản phẩm khác, một id mà hệ thống của bạn biết.
user3387542

@ user3387542 nhưng làm cách nào để thêm loại thiết bị này vào udev của tôi?
AbdelHady

ồ. cảm ơn bạn rất nhiều. Tôi đã lãng phí hàng giờ cho nó. và giải pháp cuối cùng cho tôi là bắt đầu android studio với tư cách là người dùng / root. như tôi đang sử dụng centos OS
Abdul Mohsin

Câu trả lời:


161

Ok Vì vậy, cuối cùng tôi đã tìm thấy vấn đề, dường như trên thiết bị này, bạn phải đặt kết nối làm máy ảnh (ngay cả sau khi gỡ lỗi USB đã được bật)

nhập mô tả hình ảnh ở đây

Ngoài ra , liên kết này mô tả quá trình thiết lập


3
Tôi đã tìm kiếm trong nhiều ngày về vấn đề này và giải pháp là kết nối nó với tên "Máy ảnh", điều này thật kỳ lạ nhưng hiệu quả! nhờ để chia sẻ
AbdelHady

trong trường hợp của tôi, nó đã được chọn MTP và tôi phải chuyển sang PTP rồi quay lại MTP để nó hoạt động.
rjlopes

đã làm việc với tôi quá! không biết lý do là gì mặc dù!
bmnepali

Trong trường hợp của tôi, tôi cũng đã phải chạy lệnh này trên thiết bị đầu cuốiadb devices
Zohab Ali

57

Tôi đã gặp lỗi này một vài lần khi adb không được kết nối với các quyền chính xác.

Trên thiết bị đầu cuối thử

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

nếu nó trở lại

<deviceIdentifier> no permissions

thì bạn cần phải khởi động lại adb với các perms chính xác

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

nếu điều đó hiệu quả thì bạn sẽ nhận được

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

Sau đó, không còn vấn đề về độ phân giải phiên bản Sdk trong Android Studio.


1
Bằng cách này, tôi có thể thấy tên thiết bị của mình (không có null) chỉ trong giây lát. Nó lại hiển thị rỗng
Shruti

1
Đây là câu trả lời đúng nhất vì thiết bị Google Pixel không có giá trị ngay cả sau khi thay đổi loại kết nối.
kostyabakay

Tuyệt vời! Cảm ơn bạn.
Kirill Starostin

22

Chỉ cần chạy lệnh này sau khi bạn kết nối thiết bị của mình với hệ thống Ubuntu:

adb devices

Điều này làm việc cho tôi.

Lưu ý: Đảm bảo rằng bạn đã chọn tùy chọn truyền tệp trong điện thoại của mình.


stackoverflow.com/a/34598874/9022007 thử này quá nếu adb thiết bị không làm việc cho bạn
Rashil Shah

nó làm việc cho tôi. 1) thiết bị adb 2) Cài đặt -> Thiết bị được kết nối -> USB -> Thay đổi thành 'Truyền tệp'
amitabha2715

17

Trên Ubuntu, với Pixel XL trên 8.0, tôi phải thực hiện việc này khi cắm vào máy tính:

Cài đặt -> Thiết bị được kết nối -> USB -> Thay đổi thành 'Truyền tệp'


cài đặt của cái gì?
arekolek

Cài đặt của điện thoại
RESTfulGeoffrey

Tôi nhận thấy Pixel của mình đã chuyển sang trống sau một thời gian được kết nối. Tôi tiếp tục khởi động lại thiết bị nhưng điều tương tự sẽ xảy ra. Điều này đôi khi sửa chữa nó nhưng chỉ tạm thời, kỳ lạ ...
HMAC

nó làm việc cho tôi. 1) Thiết bị adb 2) Cài đặt -> Thiết bị được Kết nối -> USB -> Thay đổi thành 'Truyền tệp'
amitabha2715

Đây vẫn hoạt động vào năm 2019 đơn vị pixel 3. (Tôi đến đây để tìm kiếm một giải pháp lâu dài nhưng vẫn không tìm thấy, hành động này vẫn hoạt động)
Wesely

12

Gặp sự cố tương tự với Nexus 5 / 5X / Pixel 2 XL của tôi trên Ubuntu 18.04.

Một giải pháp lâu dài là để thêm một quy tắc udev để bạn luôn có thể truy cập vào thiết bị.

  • Tìm thiết bị của bạn bằng lệnh lsusb . Kết quả này, ví dụ: cho Pixel 2 XL của tôi:

    Bus 001 Device 003: ID 18d1:4ee7 Google Inc.
    
    # This means: BUS=001, DEVICE=003, VENDOR=18d1, PRODUCT=4ee7
    
  • Bây giờ hãy kiểm tra các quyền. Thay thế 001 và 003 bằng các tham số của bạn:

    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
    
  • Để khắc phục điều này, hãy tạo tệp quy tắc udev với sudo nano /etc/udev/rules.d/51-android.rules với nội dung sau:

    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
    
  • Rút phích cắm và cắm lại thiết bị của bạn. Bây giờ thiết bị sẽ luôn được nhận dạng. Nếu không, hãy khởi động lại máy chủ adb lần cuối vớiadb kill-server .

Nguồn: http://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/


6

Gặp phải vấn đề tương tự khi sử dụng Android Studio trên Ubuntu. Rõ ràng đối với tôi, cách khắc phục là đặt chế độ kết nối USB cho thiết bị là MTP .


5

Đầu tiên hãy kiểm tra phiên bản adb: Nếu nó cung cấp Đầu ra như

Android Debug Bridge version 1.0.32

Sau đó, chỉ cần khởi động lại daemon.

sudo adb kill-server
sudo adb start-server

khác cài đặt adb trước và khởi động lại daemon Làm việc cho tôi, trong ubuntu 16.04.3


5

Gần đây, tôi gặp phải vấn đề tương tự đối với điện thoại Vivo và MI. Tôi đã thử mọi thứ được mô tả trong chủ đề này. Tôi đã thử kết nối dưới dạng MTP, PTP; Nhưng không có gì hiệu quả.

Sau nhiều lần thử lại, tôi đã tìm ra giải pháp cho trường hợp của mình và có thể nó cũng có thể giúp ích cho những người khác.

  1. Mở cửa sổ đầu cuối trong Android Studio
  2. Hủy máy chủ ADB bằng lệnh sau: adb kill-server
  3. Khởi động lại máy chủ ADB bằng lệnh sau: adb start-server

Nó đã giải quyết được vấn đề của tôi.


nhờ lưu ngày của tôi .. nó luôn luôn hiển thị 24213213 [null] nhưng sau khi thao tác của bạn bây giờ nó cho thấy Samsung Galaxy ...
waza123

4

Vô hiệu hóa và bật lại gỡ lỗi trong khi thiết bị được kết nối đã thực hiện một mẹo nhỏ đối với tôi.


4

Tôi đã từng gặp vấn đề tương tự.

Tôi đã giải quyết nó bằng cách mở Cài đặt thiết bị Android của mình, sau đó chọn "Tắt" rồi "Bật" cho Gỡ lỗi USB.


4

Tôi đã từng gặp vấn đề tương tự. Tôi đã giải quyết điều này bằng cách làm

  1. Android -> SDk -> công cụ nền tảng

2.Mở thiết bị đầu cuối cho (người dùng ubuntu) hoặc mở cmd (người dùng cửa sổ)

3. loại lệnh "sudo adb kill-server"

4. Đi tới studio android, sau đó kết nối lại thiết bị.


1

Trên ubuntu, cài đặt adb đã làm việc cho tôi, tôi nghĩ rằng đã có một số vấn đề với một studio android mặc định.

Trong lệnh sử dụng thiết bị đầu cuối

sudo apt install adb 

0

Đôi khi trong Linux (trong trường hợp của tôi là Centos 6), lý do có thể là do bạn không khởi động Android Studio với tư cách là người dùng gốc. vui lòng khởi động lại android studio với tư cách là người dùng root và thử nó!


2
Đây là một ý tưởng khủng khiếp. Không bao giờ khởi động ứng dụng userland dưới dạng root!
agilob

0

Đối với máy ubuntu, hãy chọn tùy chọn chuyển và thiết bị sẽ được phát hiện trong studio android cũng như để gỡ lỗi. Nói chung thiết bị ở trạng thái sạc cho windows nhưng đối với ubuntu thì đây là cách nó hoạt động.

Ngoài ra nhiều khi thiết bị không được phát hiện, bạn hãy làm lại thao tác tương tự.


0

Chế độ MTP cần thiết, nhưng nó không xuất hiện bên dưới USB. Trong cài đặt lưu trữ trên mục thanh menu, bạn có thể đặt kiểu kết nối PC là ... MTP.


0

kiểm tra các quy trình đang chạy, tôi đã có một số quy trình adb đang chạy và tôi nghĩ rằng điều này đang làm hỏng mọi thứ đối với tôi. Giết tất cả chúng sau đó khởi động lại Studio. HTC Sync Manager, GenyMotion, v.v. và có thể khi bạn mở nhiều cửa sổ Android Studio có thể dẫn đến nhiều quy trình adb xung đột.


0

Đặc biệt là trên Ubuntu hoặc bất kỳ nền tảng nào khác. Vui lòng và Vui lòng kiểm tra phiên bản adb của bạn. Tôi không thể nhấn mạnh điều này đủ. đảm bảo nó được cập nhật hoặc phiên bản mới nhất, đặc biệt nếu các câu trả lời trên không hoạt động và liên kết này cũng không hoạt động.

Sau khi tôi cập nhật thư mục công cụ nền tảng của mình tại

PATH_TO/Android/Sdk/platform-tools

mà cũng chứa adbnó đã hoạt động. Tôi đã chạy
adb devices

đầu tiên nó sẽ hiển thị trái phép sau đó

bạn rút phích cắm và cắm lại thiết bị Android. Sau đó, điện thoại của bạn sẽ yêu cầu quyền trước khi hệ thống đọc thiết bị của bạn.


0

Trong trường hợp của tôi, chỉ cần nhìn vào điện thoại của tôi và đánh dấu vào hộp kiểm bật lên để cho phép gỡ lỗi USB đã thực hiện công việc cho tôi.


-1

Đi tới thiết bị đầu cuối trong studio android và chạy "thiết bị adb". Nó sẽ hiển thị các thiết bị được kết nối. Sau đó, chạy ứng dụng và thiết bị sẽ hiển thị.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.