วิธีแก้ไขไฟล์ 'etc / hosts' ในโทรศัพท์ที่ไม่ได้รูทแล้ว?


14

ฉันใช้ LineageOS 14.1 และไม่ต้องการหรือไม่จำเป็นต้องรูทมัน ฉันจะนับใหม่/systemrw และแก้ไขได้/system/etc/hostsอย่างไร

คำตอบทั้งหมดใน " วิธีแก้ไขไฟล์" etc / hosts "ต้องมีโทรศัพท์รูท

คำตอบ:


9

เว้นแต่ฉันจะพลาดบางสิ่งนั่นก็เป็นไปไม่ได้ หากไม่มีการเข้าถึงรูทกลไกการกระพริบอัปเดต (ผ่านการกู้คืนหรือ OTA) จะสามารถแก้ไข/systemได้ หากต้องการได้รับการยอมรับการเก็บถาวรการอัปเดตดังกล่าวจะต้องเซ็นชื่อด้วยคีย์เดียวกับ ROM ซึ่งเป็นสิ่งที่ผู้พัฒนา ROM เท่านั้น (ที่นี่: ทีม LOS) สามารถทำได้

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


ขอบคุณ twrpดูเหมือนทางออกที่ดีมาก มันมีทุกอย่างที่จำเป็นสำหรับการเปลี่ยนแปลงด้วยตนเองเล็กน้อยหรือการhostsเปลี่ยนแบบเต็ม ผมทำงานมีเสถียรภาพใหม่ล่าสุดที่มาพร้อมกับ BusyBox: vi, cat, chmodและchownจะมี
berbt

1
ยิ่งไปกว่านั้นคุณไม่จำเป็นต้องติดตั้ง - คุณสามารถบูตอิมเมจ ( fastboot boot twrp.img) ซึ่งปล่อยให้ปลดล็อค bootloader เป็นการปรับเปลี่ยนอุปกรณ์เท่านั้น (ด้านหนึ่งที่คุณต้องการดำเนินการแน่นอน)
Izzy

5

เป็นไปได้ที่จะใช้โปรไฟล์ VPN * เพื่อส่งผลกระทบต่อการแก้ปัญหาชื่อโฮสต์ มีจำนวนของปพลิเคชันในขณะนี้ที่มีอยู่บน Play สโตร์ที่ให้ความสะดวกในการทำเช่นนี้เช่นโฮสต์ไป โปรดทราบว่าเนื่องจากเทคนิคนี้ต้องใช้โปรไฟล์ VPN คุณจะไม่สามารถใช้VPN จริงร่วมกับเทคนิคนี้ได้


* ตั้งแต่ Android 4.0 (API ระดับ 14) - https://developer.android.com/guide/topics/connectivity/vpn


1
แอป Hosts Go ใช้งานได้ในการเพิ่มโฮสต์บางรายการ เอกสารอาจจะดีกว่ามาก คุณสามารถบอกได้ว่าผู้เขียนไม่ใช่เจ้าของภาษา ในระยะสั้นคุณต้อง: เรียกใช้แอปเพิ่มรายการโฮสต์พิเศษเปิด "สวิตช์เปลี่ยนโฮสต์" แล้วคลิกปุ่มเริ่มต้นขนาดใหญ่ ที่เริ่มต้นการจำแนกชื่อโฮสต์ ตัวอย่างเช่นคุณควรสามารถใช้โฮสต์เหล่านี้ใน chrome ได้แล้ว ปุ่มหยุดจะนำคุณกลับสู่ผลลัพธ์ชื่อโฮสต์ปกติ
Gary

2

ในโทรศัพท์ที่ไม่ได้รูทคุณจะไม่สามารถแก้ไขhostsไฟล์ได้ แต่เป็นไปได้ที่จะใช้แอพ VPN เช่นVirtual HostsหรือPersonal DNS Filter (ทั้งคู่เป็นโอเพ่นซอร์สฉันไม่มีส่วนเกี่ยวข้องกับทั้งคู่) ที่สกัดกั้นการรับส่งข้อมูล DNS และค้นหาhostsไฟล์ที่กำหนดเองทำแบบสอบถามไปยังเซิร์ฟเวอร์ DNS ต้นน้ำที่กำหนดค่า

หรือถ้า bootloader สามารถปลดล็อคได้คุณสามารถแก้ไขhostsไฟล์ได้ผ่านการกู้คืนที่กำหนดเอง

สำหรับทางเลือกเพิ่มเติมโปรดดู: จะแก้ไขชื่อโดเมนเป็น IP แบบคงที่ได้โดยไม่ต้องรูทเสมอหรือไม่


-3

คำเตือน: วิธีนี้จะใช้งานได้ก็ต่อเมื่อ ADB สามารถเข้าถึงรูทได้ซึ่งไม่ใช่กรณีของ ROM ส่วนใหญ่ มันทำงานได้ใน LineageOS 14.1

ที่ต้องการ:

  • Developer options เปิดใช้งานในโทรศัพท์
  • adb ติดตั้งในคอมพิวเตอร์

ขั้นตอน

ใช้การตั้งค่าต่อไปนี้ในDeveloper options:

  • Root access -> ADB only
  • Android debugging -> เปิด

เชื่อมต่อโทรศัพท์เข้ากับคอมพิวเตอร์ ให้สิทธิ์ในโทรศัพท์ของคุณหากถูกถาม ในคอมพิวเตอร์ให้เปิดเครื่องแล้วเรียกใช้

$ adb root

ให้สิทธิ์ในโทรศัพท์ของคุณ ประกอบใหม่ด้วย

$ adb remount

สตาร์ทเชลล์ที่รูทแบบรีโมต

$ adb shell

ในเชลล์ adb แก้ไขไฟล์โฮสต์ของคุณ

# nano /etc/hosts

เมื่อพร้อมให้ถอดการเชื่อมต่อ

# exit

3
ฮะ? บนรูต LOS จะใช้ได้เฉพาะเมื่อคุณแฟลชแพ็กเกจรูทเพิ่มเติมซึ่ง OP ไม่ต้องการ (เช่น "การเข้าถึงรูท = ADB เท่านั้น" ไม่สามารถทำได้) ดังนั้นขั้นตอนของคุณควรทำงานโดยไม่รูตหากพวกเขาต้องการรูทอย่างไร คุณช่วยอธิบายได้ไหม?
Izzy

adbd ไม่สามารถทำงานเป็นรูทในบิลด์การผลิต
iBug

นอกจากนี้คุณจะได้รับnanoอย่างไร catคือทั้งหมดที่คุณมี Android viไม่ได้มาพร้อมกับขั้นพื้นฐาน
iBug

@ Izzy เพิ่งยืมโทรศัพท์ที่มีสต็อก Android เพื่อยืนยันและใช่มันน่าจะเป็นสิ่งที่ LOS ฉันไม่ได้แฟลชแพ็กเกจรูท ฉันจะแก้ไขคำตอบและชื่อคำถามเพื่อสะท้อนถึงข้อเท็จจริงนี้
berbt

@iBug เช่นเดียวกับความคิดเห็นก่อนหน้าของฉัน: น่าจะเป็นสิ่ง LOS อยู่ในnano (ในไม่มีชื่อแทนเช่นกัน) กล่าวว่าเป็น "คอมไพล์โดย tpruvot @ CyanogenMod" /system/xbin/nanovim--version/system/xbin/vi
berbt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.