การย้ายข้อมูลโปรเจ็กต์ไปยัง Android Studio จะต้องปรับเปลี่ยนโครงสร้างโปรเจ็กต์ ระบบบิลด์ และฟังก์ชันการทำงานของ IDE ใหม่
หากย้ายข้อมูลจาก IntelliJ และโปรเจ็กต์ใช้ Gradle อยู่แล้ว คุณสามารถเปิดโปรเจ็กต์ที่มีอยู่จาก Android Studio ได้ หากคุณใช้ IntelliJ แต่โปรเจ็กต์ไม่ได้ใช้ Gradle อยู่แล้ว คุณจะต้องเตรียมโปรเจ็กต์ด้วยตนเองก่อนจึงจะนําเข้าไปยัง Android Studio ได้ ดูข้อมูลเพิ่มเติมได้ที่ส่วนย้ายข้อมูลจาก IntelliJ
ข้อมูลเบื้องต้นเกี่ยวกับ Android Studio
ความแตกต่างที่สําคัญบางประการที่ควรทราบเมื่อเตรียมย้ายข้อมูลไปยัง Android Studio มีดังนี้
การจัดระเบียบโปรเจ็กต์และข้อบังคับ
Android Studio พัฒนาขึ้นจาก IDE ของ IntelliJ IDE หากต้องการทำความคุ้นเคยกับพื้นฐานของ IDE เช่น การไปยังส่วนต่างๆ ของ IDE, การเติมโค้ดอัตโนมัติ และแป้นพิมพ์ลัด โปรดดูพบกับ Android Studio
Android Studio จัดระเบียบโค้ดเป็นโปรเจ็กต์ซึ่งมีทุกอย่างที่กําหนดแอป Android ของคุณ ตั้งแต่ซอร์สโค้ดแอปไปจนถึงการกําหนดค่าการสร้างและโค้ดทดสอบ โปรเจ็กต์จะเปิดในหน้าต่าง Android Studio แยกต่างหาก แต่ละโปรเจ็กต์ประกอบด้วยโมดูลอย่างน้อย 1 รายการ ซึ่งช่วยให้คุณแบ่งโปรเจ็กต์ออกเป็นหน่วยฟังก์ชันการทำงานแบบแยกต่างหากได้ โมดูลสามารถสร้าง ทดสอบ และแก้ไขข้อบกพร่องได้อิสระ
ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์และโมดูล Android Studio ได้ที่ภาพรวมโปรเจ็กต์
ระบบบิลด์ที่ใช้ Gradle
ระบบบิลด์ของ Android Studio อิงตาม Gradle และใช้ไฟล์การกำหนดค่าบิลด์ที่เขียนในสคริปต์ Groovy หรือ Kotlin เพื่อให้ขยายและปรับแต่งได้ง่าย
โปรเจ็กต์ที่ใช้ Gradle มีฟีเจอร์ที่สำคัญสำหรับการพัฒนา Android ซึ่งรวมถึงฟีเจอร์ต่อไปนี้
- รองรับไลบรารีไบนารี (AAR) คุณไม่จําเป็นต้องคัดลอกแหล่งที่มาของไลบรารีลงในโปรเจ็กต์ของคุณเองอีกต่อไป คุณสามารถประกาศการพึ่งพาแล้วระบบจะดาวน์โหลดและผสานไลบรารีเข้ากับโปรเจ็กต์โดยอัตโนมัติ ซึ่งรวมถึงการผสานทรัพยากร รายการไฟล์ Manifest, กฎการยกเว้นของ Proguard, กฎ Lint ที่กําหนดเอง และอื่นๆ โดยอัตโนมัติเมื่อถึงเวลาบิลด์
- รองรับตัวแปรบิลด์ ซึ่งช่วยให้คุณสร้างแอปเวอร์ชันต่างๆ (เช่น เวอร์ชันฟรีและเวอร์ชัน Pro) จากโปรเจ็กต์เดียวกันได้
- การกำหนดค่าบิลด์และการปรับแต่งที่ง่ายดาย เช่น คุณสามารถดึงชื่อเวอร์ชันและรหัสเวอร์ชันจากแท็ก Git เป็นส่วนหนึ่งของบิลด์ได้
- คุณสามารถใช้ Gradle จาก IDE, จากบรรทัดคำสั่ง และจากเซิร์ฟเวอร์การผสานรวมอย่างต่อเนื่อง เช่น Jenkins ซึ่งจะให้บิลด์เดียวกันในทุกที่ทุกเวลา
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้และการกําหนดค่า Gradle ได้ที่หัวข้อกําหนดค่าบิลด์
ทรัพยากร Dependency
ทรัพยากร Dependency ของไลบรารีใน Android Studio ใช้การประกาศ Dependency ของ Gradle และ Dependency ของ Maven สำหรับแหล่งที่มาในเครื่องและไลบรารีไบนารีที่รู้จักกันดีซึ่งมีพิกัด Maven ดูข้อมูลเพิ่มเติมได้ที่ประกาศการพึ่งพา
ย้ายข้อมูลจาก IntelliJ
หากโปรเจ็กต์ IntelliJ ใช้ระบบการสร้าง Gradle คุณจะนําเข้าโปรเจ็กต์ไปยัง Android Studio ได้โดยตรง หากโปรเจ็กต์ IntelliJ ใช้ Maven หรือระบบบิลด์อื่น คุณต้องตั้งค่าให้ทำงานร่วมกับ Gradle ก่อนจึงจะย้ายข้อมูลไปยัง Android Studio ได้
นําเข้าโปรเจ็กต์ IntelliJ ที่ใช้ Gradle
หากใช้ Gradle กับโปรเจ็กต์ IntelliJ อยู่แล้ว ให้เปิดโปรเจ็กต์ใน Android Studio โดยทำตามขั้นตอนต่อไปนี้
- คลิก File > New > Import Project
- เลือกไดเรกทอรีโปรเจ็กต์ IntelliJ แล้วคลิกตกลง โปรเจ็กต์จะเปิดขึ้น ใน Android Studio
นําเข้าโปรเจ็กต์ IntelliJ ที่ไม่ใช่ Gradle
หากโปรเจ็กต์ IntelliJ ไม่ได้ใช้ระบบการสร้าง Gradle อยู่แล้ว คุณจะมีตัวเลือก 2 ตัวเลือกในการนําเข้าโปรเจ็กต์ไปยัง Android Studio ซึ่งอธิบายไว้ในส่วนต่อไปนี้
- สร้างโปรเจ็กต์ Android Studio ใหม่เปล่าๆ แล้วคัดลอกซอร์สโค้ดที่มีอยู่ไปยังไดเรกทอรีที่เชื่อมโยงกับโปรเจ็กต์ใหม่ ดูข้อมูลเพิ่มเติมได้ที่ส่วนการย้ายข้อมูลด้วยการสร้างโปรเจ็กต์ใหม่ว่างเปล่า
- สร้างไฟล์บิลด์ Gradle ใหม่สำหรับโปรเจ็กต์ แล้วนำเข้าโปรเจ็กต์และไฟล์บิลด์ใหม่ไปยัง Android Studio ดูข้อมูลเพิ่มเติมได้ที่ส่วนการย้ายข้อมูลด้วยการสร้างไฟล์บิลด์ Gradle ที่กําหนดเอง
ย้ายข้อมูลโดยสร้างโปรเจ็กต์ใหม่เปล่า
หากต้องการย้ายข้อมูลโปรเจ็กต์ไปยัง Android Studio โดยการสร้างโปรเจ็กต์ใหม่เปล่าและคัดลอกไฟล์ต้นทางไปยังไดเรกทอรีใหม่ ให้ทำดังนี้
- เปิด Android Studio แล้วคลิก File > New > New Project
- ป้อนชื่อโปรเจ็กต์แอปและระบุตำแหน่งที่จะสร้างโปรเจ็กต์ แล้วคลิกถัดไป
- เลือกรูปแบบของอุปกรณ์ที่แอปทำงานอยู่ แล้วคลิกถัดไป
- คลิกเพิ่มไม่มีกิจกรรม แล้วคลิกเสร็จสิ้น
- ในหน้าต่างเครื่องมือโปรเจ็กต์ ให้คลิกลูกศรเพื่อเปิดเมนูมุมมอง แล้วเลือกมุมมองโปรเจ็กต์เพื่อดูและสำรวจการจัดระเบียบโปรเจ็กต์ Android Studio ใหม่ อ่านเพิ่มเติมเกี่ยวกับการเปลี่ยนมุมมองและวิธีที่ Android Studio จัดโครงสร้างโปรเจ็กต์ได้ที่ไฟล์โปรเจ็กต์
- ไปที่ตำแหน่งที่คุณเลือกสำหรับโปรเจ็กต์ใหม่ แล้วย้ายโค้ด การทดสอบหน่วย การทดสอบเครื่องมือวัด และทรัพยากรจากไดเรกทอรีโปรเจ็กต์เก่าไปยังตำแหน่งที่ถูกต้องในโครงสร้างโปรเจ็กต์ใหม่
- ใน Android Studio ให้คลิกไฟล์ > โครงสร้างโปรเจ็กต์เพื่อเปิดกล่องโต้ตอบโครงสร้างโปรเจ็กต์ ตรวจสอบว่าได้เลือกโมดูลของแอปในแผงด้านซ้าย
- ทำการแก้ไขที่จำเป็นในแท็บพร็อพเพอร์ตี้สำหรับโปรเจ็กต์ (เช่น การแก้ไข
minSdk
หรือtargetSdk
) - คลิกทรัพยากร Dependency แล้วเพิ่มไลบรารีที่โปรเจ็กต์ของคุณต้องใช้เป็น Dependency ของ Gradle หากต้องการเพิ่มข้อกําหนดใหม่ ให้คลิกเพิ่ม
แล้วเลือกประเภทข้อกําหนดที่ต้องการเพิ่ม แล้วทําตามข้อความแจ้ง
- คลิก OK เพื่อบันทึกการแก้ไข
- คลิกสร้าง > สร้างโปรเจ็กต์เพื่อทดสอบการสร้างโปรเจ็กต์ และแก้ไขข้อผิดพลาดที่ยังไม่ได้แก้ไขหากจำเป็น
ย้ายข้อมูลโดยสร้างไฟล์บิลด์ Gradle ที่กําหนดเอง
หากต้องการย้ายข้อมูลโปรเจ็กต์ไปยัง Android Studio โดยการสร้างไฟล์บิลด์ Gradle ใหม่เพื่อชี้ไปยังไฟล์ต้นฉบับที่มีอยู่ ให้ทำดังนี้
- ก่อนเริ่มต้น ให้สำรองข้อมูลไฟล์โปรเจ็กต์ไว้ในตำแหน่งแยกต่างหาก เนื่องจากกระบวนการย้ายข้อมูลจะแก้ไขเนื้อหาของโปรเจ็กต์ในตำแหน่งเดิม
- สร้างไฟล์ในไดเรกทอรีโปรเจ็กต์ชื่อ
build.gradle
หากคุณใช้ Groovy หรือbuild.gradle.kts
หากคุณใช้สคริปต์ Kotlin ไฟล์นี้มีข้อมูลทั้งหมดที่จำเป็นสำหรับ Gradle ในการเรียกใช้บิลด์โดยค่าเริ่มต้น Android Studio จะจัดระเบียบโปรเจ็กต์ของคุณตามที่แสดงในรูปที่ 1
รูปที่ 1 โครงสร้างโปรเจ็กต์เริ่มต้นสําหรับโมดูลแอป Android ใน
settings.gradle
สำหรับ Groovy หรือsettings.gradle.kts
สำหรับสคริปต์ Kotlin คุณจะตั้งค่าที่เก็บที่ใช้ค้นหาปลั๊กอินและ Dependency ได้ในบล็อกpluginManagement
และdependencyResolutionManagement
ตามลำดับGroovy
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include ':app'
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include(":app")
คำเตือน: ที่เก็บ JCenter เปลี่ยนเป็นแบบอ่านอย่างเดียวแล้วเมื่อวันที่ 31 มีนาคม 2021 ดูข้อมูลเพิ่มเติมได้ที่การอัปเดตบริการ JCenter
ปลั๊กอิน Android Gradle จะใช้ชุดแหล่งที่มาเริ่มต้นบางอย่างกับโปรเจ็กต์ ชุดแหล่งที่มาเหล่านี้จะกำหนดไดเรกทอรีที่ใช้เก็บไฟล์ต้นฉบับประเภทต่างๆ Gradle ใช้ชุดแหล่งที่มาเหล่านี้เพื่อระบุตำแหน่งของไฟล์บางประเภท หากโปรเจ็กต์ที่มีอยู่ไม่เป็นไปตามค่าเริ่มต้น คุณสามารถย้ายไฟล์ไปยังตำแหน่งที่ควรจะอยู่ หรือเปลี่ยนชุดแหล่งที่มาเริ่มต้นเพื่อให้ Gradle รู้ว่าจะค้นหาไฟล์เหล่านั้นได้จากที่ใด
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและการปรับแต่งไฟล์บิลด์ Gradle ได้ที่หัวข้อกําหนดค่าบิลด์
ถัดไป ให้ระบุโปรเจ็กต์ไลบรารีที่คุณใช้อยู่
เมื่อใช้ Gradle คุณไม่จำเป็นต้องเพิ่มไลบรารีเหล่านี้เป็นโปรเจ็กต์ซอร์สโค้ดอีกต่อไป แต่คุณสามารถอ้างอิงไฟล์เหล่านั้นในบล็อก
dependencies{}
ของไฟล์บิลด์แทน จากนั้นระบบบิลด์จะจัดการไลบรารีเหล่านี้ให้คุณ ซึ่งรวมถึงการดาวน์โหลดไลบรารี การผสานทรัพยากร และการผสานรายการไฟล์ Manifest ตัวอย่างต่อไปนี้จะเพิ่มคำสั่งประกาศสำหรับไลบรารี AndroidX จำนวนหนึ่งลงในบล็อกdependencies{}
ของไฟล์บิลด์Groovy
... dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // AndroidX libraries implementation 'androidx.core:core-ktx:1.15.0' implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.google.android.material:material:1.7.0' implementation 'androidx.gridlayout:gridlayout:1.0.0' implementation 'androidx.leanback:leanback:1.1.0-rc02' implementation 'androidx.mediarouter:mediarouter:1.7.0' implementation 'androidx.palette:palette-ktx:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.annotation:annotation:1.9.1' // Note: these libraries require that the Google repository has been declared // in the pluginManagement section of the top-level build.gradle file. }
Kotlin
... dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) // AndroidX libraries implementation("androidx.core:core-ktx:1.15.0") implementation("androidx.appcompat:appcompat:1.7.0") implementation("androidx.cardview:cardview:1.0.0") implementation("com.google.android.material:material:1.7.0") implementation("androidx.gridlayout:gridlayout:1.0.0") implementation("androidx.leanback:leanback:1.1.0-rc02") implementation("androidx.mediarouter:mediarouter:1.7.0") implementation("androidx.palette:palette-ktx:1.0.0") implementation("androidx.recyclerview:recyclerview:1.3.2") implementation("androidx.annotation:annotation:1.9.1") // Note: these libraries require that the Google repository has been declared // in the pluginManagement section of the top-level build.gradle.kts file. }
- บันทึกไฟล์
build.gradle
แล้วปิดโปรเจ็กต์ใน IntelliJ ไปที่ไดเรกทอรีโปรเจ็กต์ แล้วลบไดเรกทอรี.idea
และไฟล์ IML ทั้งหมดในโปรเจ็กต์ - เปิด Android Studio แล้วคลิก File > New > Import Project
- ค้นหาไดเรกทอรีโปรเจ็กต์ เลือกไฟล์
build.gradle
หรือbuild.gradle.kts
ที่สร้างไว้ แล้วคลิกตกลงเพื่อนําเข้าโปรเจ็กต์ - คลิกสร้าง > สร้างโปรเจ็กต์เพื่อทดสอบไฟล์บิลด์โดยการสร้างโปรเจ็กต์ และแก้ไขข้อผิดพลาดที่พบ
ขั้นตอนถัดไป
เมื่อย้ายข้อมูลโปรเจ็กต์ไปยัง Android Studio แล้ว โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างด้วย Gradle และเรียกใช้แอปใน Android Studio โดยอ่านสร้างและเรียกใช้แอป
คุณอาจต้องดูข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมเวอร์ชัน การจัดการทรัพยากร และกําหนดค่า Android Studio ด้วย ทั้งนี้ขึ้นอยู่กับโปรเจ็กต์และเวิร์กโฟลว์ หากต้องการเริ่มต้นใช้งาน Android Studio โปรดอ่านพบกับ Android Studio
กำหนดค่าการควบคุมเวอร์ชัน
Android Studio รองรับระบบควบคุมเวอร์ชันที่หลากหลาย ซึ่งรวมถึง Git, Mercurial และ Subversion คุณสามารถเพิ่มระบบควบคุมเวอร์ชันอื่นๆ ผ่านปลั๊กอินได้
หากแอปอยู่ภายใต้การควบคุมแหล่งที่มาอยู่แล้ว คุณอาจต้องเปิดใช้ใน Android Studio จากเมนู VCS ให้คลิกเปิดใช้การผสานรวมระบบควบคุมเวอร์ชัน แล้วเลือกระบบควบคุมเวอร์ชันที่เหมาะสม
หากแอปไม่ได้อยู่ภายใต้การควบคุมแหล่งที่มา คุณจะกำหนดค่าแอปได้หลังจากนำเข้าแอปไปยัง Android Studio ใช้ตัวเลือกเมนู VCS ของ Android Studio เพื่อเปิดใช้การรองรับ VCS สำหรับระบบควบคุมเวอร์ชันที่ต้องการ สร้างที่เก็บ นำเข้าไฟล์ใหม่ไปยังระบบควบคุมเวอร์ชัน และดำเนินการอื่นๆ เกี่ยวกับระบบควบคุมเวอร์ชัน
- จากเมนู VCS ของ Android Studio ให้คลิกเปิดใช้การผสานรวมการควบคุมเวอร์ชัน
- เลือกระบบควบคุมเวอร์ชันเพื่อเชื่อมโยงกับรูทโปรเจ็กต์จากเมนู แล้วคลิกตกลง ตอนนี้เมนู VCS จะแสดงตัวเลือกการควบคุมเวอร์ชันจำนวนหนึ่งตามระบบที่คุณเลือก
หมายเหตุ: คุณสามารถใช้ตัวเลือกเมนูไฟล์ > การตั้งค่า > การควบคุมเวอร์ชันเพื่อตั้งค่าและแก้ไขการควบคุมเวอร์ชันได้ด้วย
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับระบบควบคุมเวอร์ชันได้ที่ข้อมูลอ้างอิงเกี่ยวกับระบบควบคุมเวอร์ชันของ IntelliJ
การลงนามแอป
หากเคยใช้ใบรับรองแก้ไขข้อบกพร่องมาก่อน ระบบอาจตรวจพบใบรับรองดังกล่าวในระหว่างกระบวนการนําเข้า ในกรณีนี้ Android Studio จะยังคงอ้างอิงใบรับรองดังกล่าวต่อไป มิเช่นนั้น การกําหนดค่าการแก้ไขข้อบกพร่องจะใช้ Keystore การแก้ไขข้อบกพร่องที่ Android Studio สร้างขึ้น โดยใช้รหัสผ่านที่ทราบและคีย์เริ่มต้นที่มีรหัสผ่านที่ทราบซึ่งอยู่ใน $HOME/.android/debug.keystore
ระบบจะตั้งค่าประเภทบิลด์ที่ใช้แก้ไขข้อบกพร่องให้ใช้การกําหนดค่าการแก้ไขข้อบกพร่องนี้โดยอัตโนมัติเมื่อคุณเรียกใช้หรือแก้ไขข้อบกพร่องโปรเจ็กต์จาก Android Studio
ในทำนองเดียวกัน กระบวนการนำเข้าอาจตรวจพบใบรับรองการเผยแพร่ที่มีอยู่
หากไม่ได้กำหนดใบรับรองรุ่นไว้ก่อนหน้านี้ ให้เพิ่มการกำหนดค่าการรับรองรุ่นลงในไฟล์ build.gradle
หรือ build.gradle.kts
หรือใช้ตัวเลือกเมนูสร้าง > สร้าง APK ที่เซ็นชื่อเพื่อเปิดวิซาร์ดสร้าง APK ที่เซ็นชื่อ ดูข้อมูลเพิ่มเติมเกี่ยวกับการรับรองแอปได้ที่หัวข้อรับรองแอป
ปรับขนาดฮีปสูงสุดของ Android Studio
โดยค่าเริ่มต้น Android Studio จะมีขนาดฮีปสูงสุด 1280 MB หากคุณกำลังทำโปรเจ็กต์ขนาดใหญ่หรือระบบมี RAM จำนวนมาก คุณสามารถปรับปรุงประสิทธิภาพได้โดยเพิ่มขนาดกองสูงสุด
การอัปเดตซอฟต์แวร์
Android Studio จะอัปเดตแยกจากปลั๊กอิน Gradle, เครื่องมือสร้าง และเครื่องมือ SDK คุณสามารถระบุเวอร์ชันที่ต้องการใช้กับ Android Studio
โดยค่าเริ่มต้น Android Studio จะอัปเดตโดยอัตโนมัติทุกครั้งที่มีรุ่นเสถียรใหม่ แต่คุณเลือกอัปเดตบ่อยขึ้นและรับเวอร์ชันตัวอย่างหรือเบต้าได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปเดต Android Studio และการใช้เวอร์ชันตัวอย่างและเบต้าได้ที่การอัปเดต