วิธีการเพิ่ม submodule ของโปรเจกอื่นๆ เข้ามาในโปรเจก Android ของเรา

android Jul 10, 2020

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

Photo by Andrew Pons / Unsplash

มาเริ่มทำกันดีกว่านะ

1) ไปที่ SourceTree เลื่อนลงไปหา submodules คลิกขวา เลือก Add Submodules ...

2) ใส่ path .git ในช่อง Source Path / URL และสร้าง folder ที่ชื่อว่า submodules โดยอยู่ใน folder หลักของ project ประมาณ .../{your_project}/submodule

3) เมื่อเรากด OK เรียบร้อยแล้ว มันจะทำการ merge submodules เข้าไปใน git ของโปรเจกหลักของเรา เราจะได้

  • .gitmodules บอกว่าอันนี้เป็น submodule อะไร และมี url และ path อะไร
  • submodules/{your_submodule} อันนี้จะบอกเลขที่เรา commit code ที่ submodule

4) กลับไปดู submodules เราจะเห็นของที่เราเพิ่งเพิ่มไปด้วย สามารถ double-click เพื่อเปิดได้ จะเด้งไปหน้าต่างใหม่เลย

5) เมื่อเรา push code อะไรก็ตามที่ submodule แล้ว ไฟล์ submodules/{your_submodule} จะอัพเดตเสมอ ดังนั้น อย่าลืม push ไปด้วยนะ

6) ไปที่ settings.gradle ไป include เพิ่มและชี้ไป submodule ที่เราเพิ่มทำเข้าไปดังนี้

include ':module_name'
project(':module_name').projectDir = new File(submodule/{your_submodule}/{module_name}')

7) module อื่นๆที่ใช้ module นี้ ให้เพิ่มไปดังนี้

implementation project(':module_name')

จากนั้นก็ใช้งานได้เลย

แค่นี้เราก็สามารถใช้งาน submodule ได้แล้ว ส่วนการเปลี่ยน branch ต่างๆนั้น สามารถไปเปลี่ยนที่ repo ของ submodule นั้นได้เลย

ข้อควรระวัง : จริงๆเราสามารถเพิ่ม submodule ได้มากกว่า 1 ตัวนะ แต่เพิ่มเยอะมันก็อืดได้ ดังนั้นจงเพิ่มอย่างระวัง

Reference

  • อันนี้ยังไม่ถูกต้องนัก เพราะเรา clone มันออกมาก่อนแล้วใส่เข้ามา จะมีแค่ขั้นตอน 6 และ 7 เท่านั้น
Can not add submodule to android project
I am trying to import my submodule to my project but it always gives that error. Unable to resolve dependency for ‘:app@debug/compileClasspath’: Could not resolve project :sanservicelibrary. Open...
  • ขั้นตอนทั้งหมดนั้น จริงๆเคยมีพี่แชมป์ทำให้ตอนฟังใจ และทำแค่หนเดียว เลยจำไม่ได้ว่าทำยังไง ในทีมเลยได้พี่ยูทีมจอยมาช่วย เลยนั่งจดเลย จะได้ทำเองเป็น ก็ขอบคุณพี่ยูมา ณ ที่นี้ค่า

เขียนบล็อกเสร็จแล้ว แชร์เพจได้ เย้ๆ

อย่าลืมกด like กด share บทความกันด้วยนะคะ :)

Posted by MikkiPastel on Sunday, 10 December 2017

Tags

Minseo Chayabanjonglerd

Android Developer ผู้เป็นเจ้าของบล็อก MikkiPastel ที่ชอบทำหลายๆอย่างนอกจากเขียนแอพแอนดรอยด์ เช่น เขียนบล็อก เขียนแชทบอท เรียนออนไลน์ อ่านหนังสือ วาดรูปเล่น ดู netfilx สั่งอาหารอร่อยๆกัน เป็นต้น

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.