เมื่อฉันพยายามที่จะผลักดันไฟล์ apk ของฉันลงในแท็บเล็ตฉันได้รับข้อผิดพลาดนี้โปรดช่วยฉันด้วย
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ
เมื่อฉันพยายามที่จะผลักดันไฟล์ apk ของฉันลงในแท็บเล็ตฉันได้รับข้อผิดพลาดนี้โปรดช่วยฉันด้วย
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ
คำตอบ:
ฉันเห็นข้อผิดพลาดเดียวกันนี้บางครั้งบน Ubuntu วิธีหลีกเลี่ยงปัญหาสำหรับการทำงานนี้กำลังเรียกใช้ adb พร้อมกับsudo
คำสั่ง ตัวอย่างเช่นหากคุณกำลังกดapp.apk
sdcard คำสั่งจะเป็น
sudo adb push app.apk /mnt/sdcard
ตรวจสอบให้แน่ใจว่าคุณได้เลือกโหมด "การแก้ไขข้อบกพร่อง USB" ในการตั้งค่าแอปพลิเคชัน (ใน GingerBread) หรือในส่วนการพัฒนา (ใน IceCream Sandwich และสูงกว่า) หาก adb ทำงานอยู่ก่อนอื่นคุณควรฆ่ามันด้วยคำสั่งsudo adb kill-server
หวังว่าจะช่วยได้
sudo
ค้นหารุ่นadb
อื่นที่ไม่ใช่ sudo ติดตั้งอยู่ นั่นเป็นสาเหตุที่ใช้งานได้ไม่ใช่เพราะadb
ตัวมันเองต้องการสิทธิพิเศษมากกว่า
ฉันพบปัญหาเดียวกันนี้ การเพิ่มกฎ udev ตามที่ระบุไว้ที่นี่ได้หลอกลวง:
เข้าสู่ระบบในฐานะ root สร้างไฟล์/etc/udev/rules.d/51-android.rules
และเพิ่มบรรทัดเช่นนี้เพื่อให้สิทธิ์แก่ทุกคนในplugdev
กลุ่ม:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
ในตัวอย่างนี้ ID ผู้ขายคือ HTC คุณต้องใช้รหัสผู้ขายสำหรับอุปกรณ์ของคุณซึ่งสามารถรับได้โดยการเรียกใช้lsusb
และค้นหาสายเช่น
Bus 002 Device 009: ID 2a47:9e18
ในตัวอย่างนี้รหัสผู้ให้บริการของคุณจะเป็น2a47
ดังนั้นคุณจะต้องเปลี่ยนด้วย0bb4
2a47
บรรทัดที่ถูกต้องจึงจะอ่าน:
SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"
ตอนนี้กำหนดสิทธิ์การอ่านไฟล์, โหลด udev และโหลด adb daemon ใหม่:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
adb start-server
คุณอาจต้องตัดการเชื่อมต่อและเชื่อมต่ออุปกรณ์ของคุณเข้ากับพอร์ต USB อีกครั้ง
plugdev
กลุ่มด้วย วิ่งid
ไปหา
คำตอบของ Jorch914 ใน StackOverflowแก้ปัญหานี้ให้ฉัน:
ตกลงดังนั้นในที่สุดฉันก็พบปัญหาเห็นได้ชัดว่าบนอุปกรณ์นี้คุณต้องตั้งค่าให้เชื่อมต่อเป็นกล้องถ่ายรูป (แม้หลังจากเปิดใช้งานการดีบัก usb แล้ว)
นอกจากนี้ยังมีการเชื่อมโยงนี้จะอธิบายถึงการตั้งค่าในการประมวลผล
คำสั่งง่ายๆสองคำนี้แก้ปัญหาให้ฉันได้:
adb kill-server
adb start-server
โปรดทราบว่าแตกต่างจากคำตอบกึ่งมือใหม่แบบของsudo
ฉันไม่จำเป็นต้อง
adb shell ls
เมื่อฉันพยายามที่จะเรียกใช้
ฉันเพิ่งทำงานผ่านปัญหาเดียวกัน แต่นี่คือวิธีที่ฉันสามารถผ่านไปได้:
adb kill-server
(มันอาจจะผิด แต่ฉันออกด้วยและโดยไม่ต้อง sudosudo adb start-server
ไม่แน่ใจว่าคุณรู้หรือไม่ แต่มีแพ็คเกจที่มี adb ฉันพูดถึงเรื่องนี้เพราะฉันสังเกตเห็นว่าคุณได้รับการอ้างอิงถึง adb รุ่นเก่า คุณสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้ในบรรทัดคำสั่งของคุณ:sudo apt-get install android-tools-adb
ฉันหวังว่านี่จะช่วยได้.
วันนี้ฉันพบinsufficient permissions for device
ข้อผิดพลาดแม้ว่าจะadb
ได้รับการทำงานตามที่คาดไว้เพียงไม่กี่นาทีก่อน ตอนนี้ฉันได้รับ:
$ adb devices
List of devices attached
???????????? no permissions
$ adb shell
error: insufficient permissions for device
ไม่นานก่อนที่พบข้อผิดพลาดที่ผมได้ปิดการใช้งานที่ผมคิดฉันจะไม่จำเป็นต้องใช้Media device (MTP)
MTP
อย่างไรก็ตามปรากฏว่าการดีบัก USB หรืออย่างน้อยก็adb
ต้องมีคำสั่งให้Media device (MTP)
เปิดใช้งาน
หากต้องการเปิดใช้งานMedia device (MTP)
บน Android 4.4 ให้ไปที่:
Settings
Storage
The "..." menu (in the upper right corner)
USB computer connection
Media device (MTP)
เมื่อMTP
ปิดใช้งานlsusb
จะแสดงสิ่งต่อไปนี้:
Bus 002 Device 071: ID [idVendor1]:[idProduct1] Google Inc.
หลังจากเปิดใช้งานMTP
lsusb จะแสดงสิ่งต่อไปนี้:
Bus 002 Device 072: ID [idVendor2]:[idProduct2] [idVendor string]
idVendor และ idProduct มีการเปลี่ยนแปลงโดยขึ้นอยู่กับว่าMTP
เปิดใช้งานหรือปิดใช้งานหรือไม่
ฉันไม่ได้เป็นผู้เชี่ยวชาญด้าน Android ดังนั้นจึงเป็นไปได้ว่าพฤติกรรมดังกล่าวเฉพาะกับรุ่นโทรศัพท์โดยเฉพาะของฉัน
อาจมาจากเหตุผลอื่น ฉันเพิ่งได้รับข้อผิดพลาดนี้พยายามติดตั้ง apk บนอุปกรณ์:
$ adb install platforms/android/build/outputs/apk/android-armv7-release.apk
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: insufficient permissions for device
- waiting for device -
มันเกิดขึ้นเพราะอุปกรณ์ไม่พร้อมในโหมดที่ถูกต้อง อุปกรณ์กำลังแบ่งปันการเชื่อมต่อ 4G ผ่าน USB
มันสามารถเป็นที่รู้จักเช่นนั้น:
$ adb devices -l
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
33332EF19F3D00EC no permissions usb:1-1.2
ดังนั้นจึงเพียงพอที่จะปิดใช้งานการแบ่งปันการเชื่อมต่อบนโทรศัพท์และเริ่มใหม่อีกครั้ง
โดยทั่วไปตรวจสอบให้แน่ใจว่ามีผลลัพธ์ต่อไปนี้ผ่านadb device
คำสั่งก่อนที่จะพยายามส่งไฟล์บนอุปกรณ์
$ adb devices -l
List of devices attached
33332EF19F3D00EC device usb:1-1.2
ในกรณีเหล่านี้ไม่จำเป็นต้องฆ่าหรือรีสตาร์ทเซิร์ฟเวอร์ adb
อาจเป็นสถานการณ์เดียวกันหากคุณเชื่อมต่ออุปกรณ์เพื่อถ่ายโอนข้อมูลผ่าน USB
ฉันมีปัญหาเดียวกันและได้รับการอนุญาตที่ไม่เพียงพอ สิ่งที่ฉันทำคือเพิกถอนสิทธิ์ USB สำหรับแล็ปท็อปของฉัน จากนั้นหยุดและเริ่มการดีบัก USB เสียบกลับเข้าไปในแล็ปท็อปและได้รับหน่วยงานแก้จุดบกพร่อง USB
ฉันประสบปัญหาเดียวกันและฉันได้แก้ไขปัญหานี้โดยการเพิ่มเส้นทางของ your_android_sdk_path ให้กับตัวแปรสภาพแวดล้อมเช่น
sudo export $PATH:/your_android_sdk_path/platform-tools/adb
ของความปรารถนาของคุณว่าคุณต้องการเพิ่มนี้ไปยังบัญชีหรือระบบของคุณกว้างโดยการแก้ไขไฟล์เหล่านี้ ~/.bashrc
ไฟล์หรือ~/.profile
หรือ
/etc/profile, /etc/bash.bashrc, or /etc/environment
ถ้าหากต้องการที่จะเพิ่มการเข้าถึงกว้างระบบ
จากนั้นสร้างลิงก์ของถังขยะ
sudo ln -s /your_android_sdk_path/platform-tools/adb /bin/adb
หากคุณใช้อุปกรณ์ adb หรือคำสั่งใด ๆ ก่อนอื่นให้ฆ่าเซิร์ฟเวอร์เช่น
adb kill-server
จากนั้นเริ่มเซิร์ฟเวอร์เช่น
adb start-server
adb devices
ตอนนี้คุณสามารถเห็นอุปกรณ์ของคุณอยู่ในรายการอย่างถูกต้องโดยไม่มีปัญหา
คำตอบของปัญหานี้อยู่ที่นี่: https://github.com/snowdream/51-android
ในฐานะนักพัฒนา Android ฉันขอแนะนำให้คุณอย่าใช้ "sudo" เพื่อบังคับให้ใช้ adb ในทุกที่ ไม่ใช่สิ่งที่เราควรทำ กฎนโยบายและข้อ จำกัด มีไว้เพื่อความปลอดภัยของเราเอง
ความเป็นไปได้อื่น: การปล่อยสัญญาณผ่าน USB ยังขัดแย้งกับ adb การปิดใช้งานจะช่วยแก้ปัญหาให้ฉันได้