ยูทิลิตี adb` นี้คืออะไรที่ฉันได้รับคำแนะนำให้ใช้ต่อไป?


10

ในคำถามมากมายในเว็บไซต์นี้ฉันเห็นคำตอบที่บอกให้เราดำเนินการadb shellหรือadb logcatอื่น ๆ

ตอนนี้ฉันไม่ใช่ผู้ใช้ที่ไร้เดียงสาดังนั้นฉันจึงดาวน์โหลดและติดตั้ง Termux และมี shell prompt เมื่อฉันสามารถพิมพ์คำสั่งได้ แต่adbสิ่งนี้มาจากไหน ฉันจะดาวน์โหลดเป็นแอพได้หรือไม่ ดูเหมือนว่าจะไม่ได้รับการติดตั้งตามค่าเริ่มต้น (บน Redmi 3S, Android 6.0.1)

ดูเหมือนว่ามันเป็นลิฟท์ที่อนุญาต มันเป็นเหมือนsu? ถ้าไม่ต่างกันอย่างไร



@RahulGopi: ใช่ฉันแค่คิดว่าอาจมีคำตอบสั้น ๆ ที่นี่ในเว็บไซต์
einpoklum

5
มันเป็นเครื่องมือที่อธิบายไว้ในadb tag-wiki ของเรากับแหล่งข้อมูลที่เชื่อมโยง - บอกคุณว่าก่อนที่ฉันเดา :) จำไว้ว่า: แท็กของเราจำนวนมากมีวิกิที่เหมาะสม :) ดูได้จากเว็บไซต์ของเราด้วย: ADB คืออะไร สำหรับ? ฉันจะติดตั้งบนอุปกรณ์ของฉันได้อย่างไร
Izzy

ADBจะใช้ในการเชื่อมต่อ mouses และแป้นพิมพ์กับคอมพิวเตอร์รัฐของศิลปะ

คำตอบ:


33

เกี่ยวกับ adb

ในการพูดสั้น ๆ นี้adb(สะพาน Android Debug) เป็นยูทิลิตี้ที่สร้างขึ้นเพื่อติดตั้งบนคอมพิวเตอร์เพื่อให้เปลือกโทรศัพท์ที่เชื่อมต่อผ่านสาย USB หรือเครือข่าย Wi-Fi เดียวกัน

สำหรับอุปกรณ์บางตัวที่ใช้ Android Lollipop (5.1.1) และรุ่นที่ต่ำกว่าของระบบปฏิบัติการมันเป็นไปได้ที่จะหลอกให้อุปกรณ์เชื่อมต่อกับตัวเองเนื่องจากadbไคลเอนต์มารวมอยู่ในโทรศัพท์เช่นกัน สิ่งนี้เป็นไปไม่ได้อีกต่อไปเนื่องจาก Android Marshmallow (6.0) เป็นต้นไปGoogle ได้ลบadbไบนารีออกจากโทรศัพท์เพื่อลดพื้นที่การโจมตีที่ใช้งานได้

อย่างไรก็ตามเป็นไปได้ที่จะแนะนำadbไคลเอนต์บนโทรศัพท์อีกครั้งด้วยตนเองโดยไม่จำเป็นต้องรวบรวมไบนารีด้วยตนเอง อ้างถึงวิกิแท็ก adbสำหรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้รวมถึงการติดตั้งบนคอมพิวเตอร์และการแก้ไขปัญหาทั่วไป


ที่จะได้รับมัน

เมื่อนานมาแล้วเพื่อที่จะได้รับadbและอีกยูทิลิตี้ที่เรียกว่าfastbootหนึ่งต้องดาวน์โหลด Android SDK เต็มรูปแบบจาก Google ถ้าพวกเขาต้องการแพคเกจอย่างเป็นทางการ ปัจจุบันมีขนาดเล็กมัดอย่างเป็นทางการได้กลายเป็นใช้ได้เป็น XDA กล่าวว่า มันมีไบนารีสำหรับระบบปฏิบัติการที่พบบ่อยที่สุด


มันทำงานอย่างไร

adbลูกค้าที่ติดตั้งบนเครื่องคอมพิวเตอร์ของคุณทำให้การเชื่อมต่อไปยังโทรศัพท์เสียบหรือตรวจพบอย่างอื่นโดยวิธีการของเซิร์ฟเวอร์ภายใน จากนั้นผู้ใช้จะสามารถส่งคำสั่งที่หลากหลายไปยังโทรศัพท์ของตัวเองซึ่งจะรับฟังโดยadbddaemon ที่อาศัยอยู่ในโทรศัพท์

เมื่อใช้adbงานคุณปลอมตัวเป็นผู้ใช้ที่เรียกว่าshell(UID 2000) ผู้ใช้รายนี้เป็นคนพิเศษซึ่งพวกเขาสามารถให้สิทธิ์แอพและเข้าถึงข้อมูลได้มากกว่าผู้ใช้ทั่วไป อย่างไรก็ตามความจริงนี้ไม่ได้หมายความว่าadbเหมือนกันsuเพราะสิ่งหลังทำให้คุณปลอมตัวเป็นผู้ใช้

ข้อมูลเพิ่มเติมเกี่ยวกับadbและการทำงานของมันอาจจะได้รับโดยดูที่เอกสารที่เป็นทางการ


การออกคำสั่งจากโทรศัพท์

คำสั่งส่วนใหญ่ที่สามารถออกให้ผ่านadbมักจะเป็นโปรแกรมอรรถประโยชน์ที่ติดตั้งไว้ล่วงหน้าในโทรศัพท์

ในการเข้าถึงพวกเขาคุณจะต้องติดตั้งแอพเทอร์มินัลอีมูเลเตอร์ในโทรศัพท์ของคุณ (โปรดทราบว่า Termux มีความพิเศษในการที่จะระบุตัวของมันเองPATHโดยไม่สนใจไบนารีของระบบ) ตัวอย่างเช่นจะช่วยให้คุณสามารถออกคำสั่งเช่นlogcatโดยตรงบนอุปกรณ์มือถือของคุณ จำไว้ว่าให้ละเว้นadbคำนำหน้าแม้ว่า

เป็นมูลค่าการกล่าวขวัญว่าหากคุณขาดการอนุญาตรูทช่วงของคำสั่งที่คุณจะสามารถดำเนินการได้และข้อมูลที่คุณสามารถเข้าถึงได้นั้นจะน้อยกว่าการใช้อย่างadbมากเนื่องจาก UID ที่เรียกใช้คำสั่งเหล่านั้นจะเป็น ตรวจสอบตัวเองและปพลิเคชันมีสิทธิ์น้อยกว่า 2000UID


ทำได้ดี! น่าเสียดายที่ฉันไม่สามารถโหวตได้สองครั้ง :) // ใช่วิกิของพวกเราบ่อยเกินไป "ไม่ทราบจำนวน" ไม่สามารถชี้ที่นั่นบ่อยพอ แต่การรวมลิงก์ในคำตอบที่กล่าวถึงในนั้นกำลังไปได้ไกล IMHO :) มันเหมาะกับ (เช่นที่นี่: "สำหรับรายละเอียดเพิ่มเติม ... ") เป็นความคิดที่ดี อย่าลังเลที่จะไปข้างหน้ากับสิ่งนั้น - ฉันไปข้างหน้าเพื่อล้างความคิดเห็นในขณะเดียวกัน :)
Izzy

@ จุดดีมาก รอและดูว่าจำเป็นต้องมีลิงก์สแปมหรือไม่
Grimoire

กรุณาขึ้นทะเบียนของฉัน
iBug

@iBug ฉันรู้สึกเป็นเกียรติ
Grimoire

2

Android สะพานแก้จุดบกพร่อง (ADB)

มันส่งคำสั่งผ่าน USB หรือ Wifi ไปยังอุปกรณ์ Android โดยปกติจะติดตั้งบนคอมพิวเตอร์ที่เชื่อมต่อกับอุปกรณ์ ไคลเอนต์ ADB ยังสามารถเรียกใช้บนอุปกรณ์เองได้อย่างไรก็ตามแนวคิดคือการดีบักอุปกรณ์จากระยะไกล

มันเป็นส่วนหนึ่งของชุดพัฒนาซอฟต์แวร์ Android

จากนั้นคุณสามารถใช้ตัวจัดการ SDK เพื่อดาวน์โหลดเครื่องมือแพลตฟอร์ม

นอกจากนี้ยังมีลิงก์โดยตรงเพิ่มเติมที่นี่ในกรณีที่คุณสนใจ เครื่องมือแพลตฟอร์ม

เอกสาร ADB


รอถ้าไม่ได้ติดตั้งไว้ในอุปกรณ์ทำไมผู้คนถึงแนะนำให้ฉันใช้มันในเปลือกหอยบนอุปกรณ์ เช่นในตัวอย่างที่ฉันให้?
einpoklum

เป็นจุดที่ดี อาจจะถูกต้องกว่าที่จะพูดคำสั่ง adb คือ "ไคลเอนต์" ที่เชื่อมต่อกับอุปกรณ์ Android อุปกรณ์ android สามารถมีไคลเอนต์ได้เพราะทำไมไม่ แต่นั่นคือ sorta ชอบทำงาน ssh localhost
jdwolf

เพื่อความซื่อสัตย์เอกสารอธิบายทั้งหมดนี้ได้เป็นอย่างดี: developer.android.com/studio/command-line/adb.html
jdwolf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.