ผมใช้ Galaxy Nexus มานานละ นานพอจนไม่ Google ไม่มี Android 4.4 ให้ใช้ T_T เรื่องการโอนไฟล์ผ่าน MTP, PTP สร้างปัญหาเรื่องการโอนไฟล์กับ Ubuntu 12.04, 12.10, 13.04 พอสมควรเพราะ gvfs ยังเก่าอยู่ไม่สนับสนุน MTP ที่แย่กว่านั้น OSX ไม่รู้จัก MTP ซึ่งแย่กว่าเดิมอีก และที่แย่ยิ่งกว่าผมใช้งาน OSX เป็นหลัก ไม่มี Ubuntu ใช้แล้ว ก็เลยต้องถามจากผู้ที่ใช้งาน Galaxy Nexus กับ OSX ซึ่งก็พบว่ามีปัญหากันเยอะ จริงๆ น่าจะมี option ให้เลือก USB Mass Storage เพิ่มขึ้นมานะ เอาเป็นว่าผมใช้เครื่องมือโอนไฟล์อยู่หลายตัวด้วยกัน ดังนี้

  • AirDroid
  • Android Device Monitor
  • Cloud Storage

สรุปว่าไม่ค่อยเหมาะสมเท่าไร ก็เลยทำให้ต้องค้นหาว่าจริงๆ แล้ว Google มีเครื่องมืออะไรพิศดารมาแก้ปัญหานี้หรือเปล่า ก็พบว่ามีครับ เครื่องมือตัวนี้มีชื่อว่า Android File Transfer สำหรับ Mac users โดยเฉพาะ T_T เอาเป็นว่าได้เครื่องมือละ

พอเปิดโปรแกรมขึ้นมาก็รู้สึกอยากร้องไห้ นี่มันตัด Device Explorer มาจาก Android Device Monitor ชัดๆ เครียดเลยครับ

เนื่องจากรอ OTA ไม่ไหวก็เลยอัพเกรดด้วยตัวเอง เครื่องมือที่ต้องมีได้แก่

  1. Android SDK
  2. สาย USB
  3. Image ที่ตรงกับเครื่องของคุณ ของผมเป็น Yukju

วิธีการง่ายๆ มีดังนี้

  1. ตั้งค่า USB Debuging Mode ก่อน ถ้าหาเมนู Developer Options ไม่เจอ ให้ไปกดที่ Build Number ในหน้า About Phone 8 ครั้ง เดี๋ยวเมนูมันจะโผล่อออกมา
  2. ใช้คำสั่ง adb reboot bootloader โทรศัพท์จะ reboot แล้วแสดงหน้าจอมี Android นอนหงายท้องอยู่
  3. ใช้คำสั่ง fastboot oem unlock (ถ้าเป็น Linux ต้องใช้สิทธิ์ root ในการใช้สำสั่งนี้) หน้าจอจะขึ้นมาถามว่าต้องการ unlock bootloader หรือไม่ ตอบ Yes เลยคับ
  4. แตกไฟล์ที่ดาวน์โหลดมา แล้ว run script ชื่อ flash-all.sh แล้วนั่งรอ :) เท่านี้ก็ได้ Jelly Bean 4.3 แล้ว
  5. ใช้คำสั่ง adb reboot bootloader จากนั้นสั่ง lock bootloader โดยใช้คำสั่ง fastboot oem lock

บังเอิญมีเรื่องหงุดหงิดเกี่ยวกับการเขียน App บน Galaxy Nexus เพราะเครื่องที่ซื้อมาใช้ ICS 4.0.2 รออัพเดทจาก OTA เป็น 4.0.3 เพื่อใช้ SDK รุ่น 15 รอนานมาก รอนานจนเบื่อเลยตัดสินใจอัพเดทเอง ซึ่งวิธีการก็ง่ายมากครับ อันดับแรกต้องมีเครื่องมือกันก่อน ได้แก่

  1. Java SDK
  2. Android SDK
  3. USB Driver

ผมใช้ Linux อยู่แล้วและพัฒนาโปรแกรมบนมือถืออยู่แล้วทำให้เรื่องพวกนี้ง่ายมากๆ เพราะจำเป็นต้องใช้ครับ ทีนี้หา Factory Image จาก Google ครับ Factory Image ที่ใช้คือ yakju for Galaxy Nexus “maguro” (GSM/HSPA+) ดาวน์โหลดมาให้เรียบร้อยแล้วแตกไฟล์ครับ ถ้าติดตั้ง Android SDK แล้วให้ตั้ง PATH ไปที่ platform-tools จะได้เรียกโปรแกรมได้ง่ายขึ้น การอัพเดท ROM ใหม่โดยไม่ผ่าน OTA จะต้องแก้ไข bootloader โดยทำการ unlock ซึ่งเมื่อ unlock bootloader แล้วข้อมูลจะหายนะจ๊ะ ควรสำรองข้อมูลก่อนทำ อ้ออย่าลืมตั้ง usb debug mode และเสียบสาย USB ด้วยละ มีของครบแล้วก็มาลงมือกัน

Unlock boot loader ก่อน ด้วยคำสั่ง

adb reboot bootloader

เครื่องจะ reboot และแสดงหน้าจอตัวหุ่น Android นอนเปิดท้องอยู่ ใช้คำสั่ง unblock bootloader ดังนี้

fastboot oem unlock

สังเกตข้อความข้างล่างจะเปลี่ยนจาก locked เป็น unlocked ครับ ทีนี้ก็เตรียม flash ROM ใหม่ เมื่อเราแตกไฟล์ zip ออกมาแล้วเราจะได้ไดเรคทอรี yakju-imm76i ให้ cd เข้าไปที่ไดเรคทอรีนี้แล้วใช้คำสั่ง

./flash-all.sh

โปรแกรมก็จะ flash bootloader, radio, boot.img, system.img ฯลฯ จนเครื่อง reboot กลับมาที่หน้าจอ logo ตอนเปิดเครื่อง หากสังเกตดีๆ จะมีเครื่องหมายแม่กุญแจอยู่ข้างล่าง (ปกติไม่มี) ไม่ต้องตกใจ รอสัก 5 วินาทีเครื่องจะ boot เข้าหน้าจอ lock screen ตามปกติ เท่านี้ก็ได้ Android ICS 4.0.4 ใช้แล้ว :) อ้อถ้ารำคาญ เครื่องหมายแม่กุญแจอยู่ข้างล่าง เวลา boot เครื่องใหม่ ก็สั่ง lock bootloader ดังนี้

adb reboot bootloader
fastboot oem lock