Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Android

ขั้นตอนการติดตั้งและแก้ไขปัญหา Android x86

สำหรับผู้ใช้ที่ต้องการมีประสบการณ์ Android บนเดสก์ท็อป มีระบบปฏิบัติการที่ใช้ Android อยู่จำนวนหนึ่ง – อย่างไรก็ตาม ส่วนใหญ่เป็นเพียงส่วนแยกของ Android x86 (PrimeOS, Remix OS, Phoenix OS x86) นี่เป็นเพราะว่า Android x86 ทำให้การพัฒนาช้าลงไปชั่วขณะ นักพัฒนารายอื่นจึงหยุดทำงาน

อย่างไรก็ตาม ล่าสุด Android x86 ได้ออกอัปเดตอย่างต่อเนื่อง ซึ่งรวมถึงการอัปเดตเป็น Android Oreo ดังนั้น หากคุณต้องการเพลิดเพลินกับประสบการณ์ Android ที่ยอดเยี่ยมบนเดสก์ท็อป คุณควรลองใช้ Android x86 ก่อนลองใช้ทางเลือกอื่น (เช่น Remix OS ได้หยุดการพัฒนาโดยสิ้นเชิง เป็นต้น)

ข้อกำหนด:

  • Android x86 ISO
  • UNetbootin

หากคุณใช้ Ubuntu คุณสามารถคว้า UNetbootin ด้วยคำสั่งเทอร์มินัล:sudo apt-get install unetbootin

หากคุณใช้ Arch Linux คุณสามารถใช้:pacman -S unetbootin

การติดตั้งแฟลชไดรฟ์ USB

  1. เปิด UNetbootin และชี้ไปที่ไฟล์ ISO ของ Android x86
  2. เลือก “ไดรฟ์ USB” แล้วคลิกตกลง
  3. UNetbootin จะเริ่มคัดลอก Android x86 ไปยัง USB แฟลชไดรฟ์ของคุณ และเปลี่ยนเป็นโปรแกรมติดตั้งแบบพกพา
  4. เมื่อดำเนินการเสร็จสิ้น ให้รีบูตคอมพิวเตอร์และบูตเข้าสู่เมนู BIOS
  5. ค้นหาหน้าใน BIOS ของคุณที่อนุญาตให้คุณบูตโดยตรงไปยังสื่อเฉพาะ (HDD, CD, USB ฯลฯ)
  6. เลือกบูตโดยตรงไปยังแฟลชไดรฟ์ USB
  7. เมนูด้วงจะปรากฏขึ้น ให้เลือกติดตั้ง Android x86 ลงในฮาร์ดไดรฟ์ของคุณ
  8. ตอนนี้ คุณจะต้องเลือกพาร์ติชั่นที่จะติดตั้ง – หากคุณไม่แน่ใจ อย่าฟอร์แมตพาร์ติชั่น และอย่าเขียนทับพาร์ติชั่นระบบปฏิบัติการอื่นของคุณอย่างชัดเจน
  9. จะมีข้อความแจ้งใหม่ปรากฏขึ้นเพื่อถามว่าคุณต้องการติดตั้ง GRUB หรือไม่ หากคุณใช้ Windows เป็นหลักโดยไม่มี Linux OS อื่นบนคอมพิวเตอร์ของคุณ ให้เลือกใช่ . หากคุณมี Linux OS / GRUB บนพีซีของคุณอยู่แล้ว ขอแนะนำให้ติดตั้งทับมัน
  10. จะมีข้อความแจ้งอื่นปรากฏขึ้นเพื่อขอให้ "สร้างระบบ R/W" เลือกใช่ สิ่งนี้จะ “รูท” Android x86 และเปิดใช้งานการเข้าถึงแบบอ่านและเขียนไปยังพาร์ติชั่น / ระบบ
  11. รีบูตเครื่องคอมพิวเตอร์ และเพลิดเพลินกับการติดตั้ง Android x86 ใหม่

สำหรับการติดตั้งซีดี / ดีวีดี

ขั้นตอนการติดตั้งเกือบจะเหมือนกันทุกประการ ยกเว้นว่าคุณจะเบิร์นซีดีสำหรับบูตจาก Android x86 ISO มีตัวเบิร์น ISO อยู่มากมาย – คุณสามารถใช้ ISO Burner ได้ฟรี

การติดตั้งเครื่องเสมือน

  1. กำหนดค่า VM ของคุณให้มี ขั้นต่ำ ที่มี RAM ขนาด 512 MB แม้ว่าจะใช้ Android x86 รุ่นล่าสุดของ Oreo ก็ตาม ค่านี้น่าจะสูงกว่านี้เล็กน้อย
  2. โหลดไฟล์ ISO ของ Android x86 ลงในเมนู VM แล้วโหลด VM
  3. เมนูด้วงจะปรากฏขึ้น เลือกติดตั้ง Android x86 ลงในฮาร์ดดิสก์
  4. สร้างพาร์ติชันใหม่ และติดตั้ง Android x86 ลงไป ฟอร์แมตพาร์ติชั่นให้อยู่ในรูปแบบใดรูปแบบหนึ่งที่รองรับ – ext3, ext2, ntfs และ fat32 โปรดทราบว่าหากคุณเลือก fat32 คำเตือนจะปรากฏขึ้นว่าคุณไม่สามารถบันทึกข้อมูลไปยัง fat32 ได้ ดังนั้น Android x86 จะทำหน้าที่เป็นไลฟ์ซีดี (จะไม่มีข้อมูลใดถูกบันทึกลงในระบบในขณะที่คุณใช้งาน) .
  5. เลือก "ใช่" เมื่อระบบขอให้ติดตั้ง bootloader GRUB และอนุญาตให้สร้างระบบ R/W เพื่อเปิดใช้งานรูท
  6. รีบูตเมื่อทุกอย่างเสร็จสิ้น

การเพิ่ม Android x86 ลงในเมนูด้วง

ติดตั้ง GRUB Customizer ก่อน ซึ่งจะทำให้กระบวนการนี้ง่ายขึ้นมาก

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

sudo apt-get update

sudo apt-get install grub-customizer

ตอนนี้เปิด GRUB Customizer และเพิ่มรายการ GRUB ใหม่

คลิกแท็บ "แหล่งที่มา" และป้อนคำสั่งเหล่านี้:

set root='(hd0,4)'

search --no-floppy --fs-uuid --set=root e1f9de05-8d18-48aa-8f08-f0377f663de3

linux androidx86/kernel root=UUID=e1f9de05-8d18-48aa-8f08-f0377f663de3 quiet androidboot.hardware=generic_x86 SRC=/androidx86 acpi_sleep=s3_bios,s3_mode

initrd androidx86/initrd.img

หากคุณสังเกตเห็น เราได้เพิ่มบางส่วนในคำสั่งเหล่านั้นให้เป็นตัวหนา นั่นก็เพราะว่าต้องเปลี่ยนตามนี้

สำหรับ set root='(hd0,4)’ ให้เปลี่ยน (hd0,4) เป็นพาร์ติชั่นที่ติดตั้ง Android x86

HD0 หมายถึง SDA ดังนั้นหากคุณติดตั้ง Android x86 ลงใน SDB มันจะเป็น HD1 เป็นต้น หมายเลขต่อมาคือหมายเลขพาร์ติชั่น ตัวอย่างเช่น hd0,4 จะเป็น SDA4 หากคุณติดตั้ง Android x86 บน SDA6 คุณจะเปลี่ยนเป็น hd0,6

สำหรับส่วน –set=root e1f9de05-8d18-48aa-8f08-f0377f663de3 สตริงสุ่มคือ UUID ของพาร์ติชันที่ติดตั้ง Android x86 คุณต้องเปลี่ยนเป็น UUID ที่ถูกต้อง คุณสามารถรับ UUID ที่ถูกต้องได้โดยการสร้างรายการใหม่ใน GRUB Customizer จากนั้นไปที่แท็บ Options แล้วเลือกตัวเลือก 'Linux' จากเมนูแบบเลื่อนลง

ในเมนูแบบเลื่อนลงของพาร์ติชั่น คุณต้องเลือกพาร์ติชั่นของคุณ จากนั้นไปที่แท็บแหล่งที่มา มันจะแสดง UUID ของคุณ

ที่เราเป็นตัวหนา androidx86/ นี่คือรูทของ Android x86 คุณต้องเปลี่ยนเป็นรูท Android x86 โดยไปที่พาร์ติชั่น Android x86 คุณควรเห็นโฟลเดอร์ชื่อ "android" และนั่นจะเป็นรูทของการติดตั้ง Android x86 ของคุณ

androidboot.hardware จะเป็นอุปกรณ์เฉพาะของคุณ หากคุณใช้ Android x86 เวอร์ชันเก่า เช่น เวอร์ชัน Android 4.03 คุณต้องเปลี่ยนเป็น androidboot_hardware (โดยใช้เครื่องหมาย _ ขีดล่าง ไม่ใช่จุด .) ไม่จำเป็นเลยสำหรับ Android x86 เวอร์ชันล่าสุด เมื่อไม่ได้ตั้งค่า androidboot.hardware ในเคอร์เนล cmdline กระบวนการเริ่มต้นจะยังคงได้รับค่า ro.hardware ที่ถูกต้อง สิ่งนี้ช่วยขจัดความจำเป็นของ androidboot.hardware

นี่คือรายการฮาร์ดแวร์ที่คุณสามารถเปลี่ยนเป็น:

  • generic_x86:หากฮาร์ดแวร์ของคุณไม่อยู่ในรายการ ให้ใช้สิ่งนี้
  • eeepc:แล็ปท็อป EEEPC
  • asus_laptop:แล็ปท็อป ASUS (เฉพาะแล็ปท็อป ASUS ที่รองรับเท่านั้น)

เคล็ดลับและเคล็ดลับขั้นสุดท้าย

Android x86 ไม่สามารถใช้ Android Market ได้ ดังนั้นจึงมีวิธีอื่นในการรับแอป Android

ขั้นแรกคุณควรเปิดใช้งานแหล่งที่ไม่รู้จัก ไปที่การตั้งค่า> แอปพลิเคชัน> เปิดใช้งาน Unknown Sources และไม่ต้องสนใจกล่องโต้ตอบคำเตือน

ตอนนี้คุณสามารถดาวน์โหลดและติดตั้ง APK จากภายนอก Google Play มีร้านแอปของบุคคลที่สามอยู่มากมาย ระวังให้ดี ร้านค้าที่ดีกว่าบางแห่ง ได้แก่:

  • XDA Labs
  • AndAppStore
  • แอพทอยด์
  • APKMirror

วิธีแสดงค่าแบตเตอรี่ที่ถูกต้อง

Android ได้รับการพัฒนาสำหรับแบตเตอรี่เฉพาะ ดังนั้นระบบปฏิบัติการที่ใช้ Android จะแสดงค่าแบตเตอรี่ที่ไม่ถูกต้องบนแพลตฟอร์มฮาร์ดแวร์ต่างๆ (เช่น แล็ปท็อป) . ในการแก้ไขปัญหานี้ มีบางสิ่งที่ต้องปรับแต่ง

ใน Linux แอปพลิเคชันจะรวบรวมสถานะแบตเตอรี่ผ่าน sysfs โดยที่สถานะแบตเตอรี่อยู่ใน /sys/class/power_supply/ อย่างไรก็ตาม แพลตฟอร์มที่แตกต่างกันอาจให้เลย์เอาต์ไดเร็กทอรีที่แตกต่างกันภายใต้ /sys/class/power_supply/ แต่ Android จะฮาร์ดโค้ดเลย์เอาต์ไดเร็กทอรีเป็น /sys/class/power_supply/ ในการแก้ไขปัญหานี้ คุณสามารถเพิ่มรายการใหม่ใน vendor/asus/eeepc/system.prop โดยที่ผู้ใช้สามารถเปลี่ยนค่าของรายการเหล่านี้เพื่อกำหนดค่าเค้าโครงไดเร็กทอรี sysfs สำหรับแพลตฟอร์มต่างๆ ได้อย่างถูกต้อง รายการเหล่านี้คือ:

ro.sys.fs.power_supply.ac=/AC0
ro.sys.fs.power_supply.bat=/BAT0
ro.sys.fs.power_supply.ac.feature.online=/online
ro.sys.fs.power_supply.bat.feature.status=/status
ro.sys.fs.power_supply.bat.feature.present=/present
ro.sys.fs.power_supply.bat.feature.capacity.now=/charge_now
ro.sys.fs.power_supply.bat.feature.capacity.full=/charge_full
ro.sys.fs.power_supply.bat.feature.voltage.now=/voltage_now
ro.sys.fs.power_supply.bat.feature.voltage.full=/voltage_full
ro.sys.fs.power_supply.bat.feature.tech=/technology
#ro.sys.fs.power_supply.bat.features.bat.health is not supported
#ro.sys.fs.power_supply.bat.features.bat.temperature is not supported

โดยพื้นฐานแล้ว รายการเหล่านี้จะบอกให้รหัสบริการแบตเตอรี่ของ Android ค้นหาข้อมูลในตำแหน่งที่ถูกต้อง

หากต้องการใช้รหัสการจัดการสถานะแบตเตอรี่ของคุณเอง เพียงปรับใช้คลาส IBatteryServiceStatus อีกครั้งใน frameworks/base/libs/utils/IBatteryServiceStatus.cpp โดยแทนที่ frameworks/base/libs/utils/BatteryServiceStatus.cpp ด้วยการใช้งานของคุณเอง

ปลุกเครื่อง

ไม่เหมือนกับระบบปฏิบัติการอื่น คุณไม่สามารถปลุกระบบจากสถานะสลีปโดยเลื่อนเมาส์หรือกดปุ่มแป้นพิมพ์แบบสุ่ม

คุณสามารถใช้ปุ่ม ESC, เมนู, ซ้าย, ขวา, ขึ้นและลงเพื่อปลุกระบบเท่านั้น ในการปลุกระบบ คุณต้องกดปุ่มที่กล่าวถึงข้างต้นค้างไว้อย่างน้อย 1 วินาที คุณสามารถกดแป้นเมนูเมื่อหน้าจอคีย์การ์ดปรากฏขึ้นเพื่อปลดล็อกหน้าจอ และคุณสามารถใช้เมาส์เพื่อหมุนวงล้อบนหน้าจอการ์ดคีย์การ์ดเพื่อปลดล็อกหน้าจอได้

วิธีบูต Android x86 บนกราฟิกที่ไม่รองรับ

เมื่อทำการบูท Live-CD บนเมนูที่มีตัวเลือกการบู๊ตต่างๆ ให้กดปุ่ม Tab บนคีย์บอร์ดของคุณ ซึ่งจะแสดงข้อความแจ้งการบูต

ตอนนี้คุณควรเห็นบางสิ่งเช่น:

kernel initrd=/initrd.img root=/dev/ram0
androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16
quiet SRC= DATA= DPI=240

คุณควรแก้ไขบรรทัดนี้ ขั้นแรกให้ลบ "เงียบ" ออกเพื่อดูว่าข้อความเคอร์เนลแสดงอะไร

จากนั้นคุณสามารถตั้งค่าพารามิเตอร์โหมดวิดีโอต่างๆ คุณสามารถใช้ NoModeSet ซึ่งปิดใช้งานการตั้งค่าโหมดเคอร์เนลและสั่งเคอร์เนลไม่ให้ตั้งค่าความละเอียดของกราฟิกโดยอัตโนมัติ หรือคุณสามารถใช้ Xforcevesa ซึ่งบังคับใช้โดยใช้ไดรเวอร์ VESA

ลองใช้พารามิเตอร์เหล่านี้เพื่อดูว่าตัวเลือกใดใช้ได้ผลกับคุณ – คุณยังสามารถตั้งค่าทั้งคู่เข้าด้วยกัน “nomodeset xforcevesa”