เชื่อว่าผู้ที่หลงเข้ามาอ่านหลายๆคนต้องพยายามจะเปลี่ยน Package Name ในโปรเจคแอนดรอยด์บน Android Studio กัน และพบว่าทำไมมันยุ่งยากเหลือเกินนะ เปลี่ยนไปเปลี่ยนมาเกิดเน่าขึ้นมาอีกก็ซวยไป

เจ้าของบล็อกจึงขอแนะนำวิธีที่เจ้าของบล็อกใช้อยู่ประจำนะครับ

ยกตัวอย่างเช่น เจ้าของบล็อกต้องการเปลี่ยนชื่อ Package Name จาก com.akexorcist.bookreader มาเป็น com.sleepingforless.bookreader แทน

แนะนำให้เปิด Project Explorer แบบ Project นะ จะได้ดูสะดวกกว่า

ปัญหาที่เกิดขึ้น

อยากจะเปลี่ยน Package Name ก็เลยกด Rename ที่ Package ที่ต้องการ แต่พอเลือก Refactor > Rename > Rename Directory หรือ Rename Package ก็ตาม มันดันขึ้นแค่ Package ชุดหลังให้แก้ไขเท่านั้น

วิธีแก้ไข

ปัญหาเกิดจาก Android Studio กำหนดให้หน้าต่าง Project Explorer ไปแสดง Package แบบ Compact Empty Middle Package เอาไว้ มันก็เลยแสดง Package เป็นย่อๆไว้ให้

ซึ่งถ้าปิดดูก็จะเห็นว่า Package แสดงซ้อนกันเป็นชั้นๆแล้ว

เพียงเท่านี้ผู้ที่หลงเข้ามาอ่านก็สามารถเข้าไปแก้ไข Package Name ในแต่ละส่วนได้แล้ว โดยคลิกขวาเพื่อเลือก Refactor > Rename แล้วเลือก Rename Package ได้เลย

โดย Android Studio จะไล่เช็คในโปรเจคให้ว่ามีตรงจุดไหนที่จะต้องถูกเปลี่ยนชื่อบ้าง เพื่อให้นักพัฒนาสามารถตรวจสอบให้แน่นอนก่อน หรือถ้าไม่ติดปัญหาอะไรก็จะเปลี่ยนชื่อให้ทันที

และเมื่อชื่อถูกเปลี่ยนแล้ว ก็จะเห็นว่าแม้กระทั่งใน androidTest และใน test ก็ถูกเปลี่ยนตามด้วยเช่นกัน

แต่อย่าลืมแก้ไข Application ID ใน build.gradle ด้วย เพราะตรงนี้จะไม่ถูกเปลี่ยนให้โดยอัตโนมัติ จึงทำให้ Gradle ยัง Build ออกมาเป็น Package Name เดิมอยู่

เมื่อเปลี่ยนเป็น Application ID ที่ต้องการแล้ว ก็ให้ Sync Gradle ใหม่ และเพียงเท่านี้โปรเจคของผู้ที่หลงเข้ามาอ่านก็จะเปลี่ยนเป็น Package Name อันใหม่ตามที่ต้องการแล้วจ้า