์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
Android Studio์์ ๋์ด์ด
1. ๊ฐ์[ํธ์ง]
์ด๊ธฐ ๋ก๊ณ . ์ดํด๋ฆฝ์ค ADT์ ์คํ๋์ ํ๋ฉด๊ณผ ๋น์ทํ๋ค. |
| ๋ฒ์ 3.0 | ๋ฒ์ 4.0 |
๊ตฌ๊ธ์ด ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ์ ์ํด JetBrains ์ฌ์ IntelliJ IDEA๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ด๋ค.[1] 2014๋ 10์๋ถํฐ ์ดํด๋ฆฝ์ค๋ฅผ ๋์ฒดํด ์๋๋ก์ด๋์ ๊ณต์ IDE๊ฐ ๋์๋ค. ๋ฌด๋ฃ๋ก ์ ๊ณต๋๊ณ ์์ผ๋ฉฐ Windows, macOS, Linux๋ฅผ ์ง์ํ๋ค. 2017๋ 5์๋ถํฐ ์๋๋ก์ด๋์ ๊ณต์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ฑํ๋ Kotlin๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๊ธฐ์กด์ ์ดํด๋ฆฝ์ค๋ก ์์ ํ๋ ํ๋ก์ ํธ๋ฅผ ์๋๋ก์ด๋ ์คํ๋์ค๋ก ์ด์ ํ ์ ์๋ค. ํ์ด์ง ์ฐธ์กฐ.
2020๋ 5์์ Android Studio 4.0์ ๋ฐฐํฌํ๋ค. Motion Editor, Layout Inspector์ Validation, CPU Profiling, Build Analyzer ๋ฑ์ ๊ธฐ๋ฅ์ด ๊ฐ์ ๋์๋ค. ์ค์น ์ฌ๋ก
2. ์ดํด๋ฆฝ์ค์ ์๋๋ก์ด๋ ์คํ๋์ค[ํธ์ง]
๊ตฌ๊ธ I/O 2015์์ Eclipse ADT ํ๋ฌ๊ทธ์ธ ์ง์์ ์ค๋จํ๊ณ ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ง์ํ๊ธฐ๋ก ๋ฐํ๋ค. ๊ด๋ จ๊ธฐ์ฌ
Java ์ง์์ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์ดํด๋ฆฝ์ค๋ณด๋ค ๋ฐ์ด๋ ํด์ด๋ผ๊ณ ํ๊ฐ๋ฐ๋ IntelliJ IDEA๋ฅผ ๋ง๋ JetBrains ์ฌ๊ฐ ๊ตฌ๊ธ๊ณผ ํ์ ํฉ์ณค๋ค. ์ผ๋ถ ๊ฐ๋ฐ์๋ค์ 1.0์ด ๋๊ธฐ ์ ์ ์๋๋ก์ด๋ ์คํ๋์ค๋ก ๊ฐ์ํ๋ค๊ฐ ๊ฐ๊ฐ์ง ์๋ฌ๋ฅผ ๊ฒฝํํ๊ณ ๋ค์ ์ดํด๋ฆฝ์ค๋ก ๋์ด์ค๊ณ ๋ ํ๋ค. ํ์ง๋ง 1.0 ์ดํ ์์ ๋ ๋ชจ์ต์ ๋ณด์ด๋ฉฐ ๋ฐ์ด๋ ๋ฆฌํฉํ ๋ง ๊ธฐ๋ฅ, Gradle์ ์ด์ฉํ ๋น๋ ์์คํ ๊ณผ IntelliJ IDEA์ ๊ฐ๋ ฅํจ์ด ๋ํด์ ธ ์๋๋ก์ด๋ ์ง์์์์ ์ดํด๋ฆฝ์ค๋ ์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ์ฒ๋ผ ์ญ์ฌ์ ๋ค์๊ธธ๋ก ์ฌ๋ผ์ ธ๊ฐ๊ณ ์๋ค.
Java ์ง์์ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์ดํด๋ฆฝ์ค๋ณด๋ค ๋ฐ์ด๋ ํด์ด๋ผ๊ณ ํ๊ฐ๋ฐ๋ IntelliJ IDEA๋ฅผ ๋ง๋ JetBrains ์ฌ๊ฐ ๊ตฌ๊ธ๊ณผ ํ์ ํฉ์ณค๋ค. ์ผ๋ถ ๊ฐ๋ฐ์๋ค์ 1.0์ด ๋๊ธฐ ์ ์ ์๋๋ก์ด๋ ์คํ๋์ค๋ก ๊ฐ์ํ๋ค๊ฐ ๊ฐ๊ฐ์ง ์๋ฌ๋ฅผ ๊ฒฝํํ๊ณ ๋ค์ ์ดํด๋ฆฝ์ค๋ก ๋์ด์ค๊ณ ๋ ํ๋ค. ํ์ง๋ง 1.0 ์ดํ ์์ ๋ ๋ชจ์ต์ ๋ณด์ด๋ฉฐ ๋ฐ์ด๋ ๋ฆฌํฉํ ๋ง ๊ธฐ๋ฅ, Gradle์ ์ด์ฉํ ๋น๋ ์์คํ ๊ณผ IntelliJ IDEA์ ๊ฐ๋ ฅํจ์ด ๋ํด์ ธ ์๋๋ก์ด๋ ์ง์์์์ ์ดํด๋ฆฝ์ค๋ ์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ์ฒ๋ผ ์ญ์ฌ์ ๋ค์๊ธธ๋ก ์ฌ๋ผ์ ธ๊ฐ๊ณ ์๋ค.
3. ์์คํ ์๊ตฌ ์ฌํญ[ํธ์ง]
์ด์ ์ฒด์ | |
CPU | ์ธํ
i3~i5 |
RAM | ์ต์ 4GB, ๊ถ์ฅ 8GB |
ํ๋ ๋์คํฌ | 2GB (์คํ๋์ค ์์ฒด) + ์ต์ 2GB, ๊ถ์ฅ 4GB (์๋๋ก์ด๋ SDK, ์๋ฎฌ๋ ์ดํฐ ์์คํ
์ด๋ฏธ์ง, ์บ์) |
ํ๋ฉด ํด์๋ | ์ต์ 1280 x 800 |
Java | |
์๋ฎฌ๋ ์ดํฐ ๊ฐ์(์ ํ์ฌํญ) | Intelยฎ processor with support for Intelยฎ VT-x Intelยฎ EM64T (Intelยฎ 64) Execute Disable (XD) Bit functionality |
4. ์ค๋ฅ[ํธ์ง]
ํ ํ๋ก๊ทธ๋จ ๋๋น ์ฌ์ฉ ํ๊ฒฝ์ ๋ฐ๋ผ ์ค๋ฅ๊ฐ ๋ง์ ํธ์ด๋ค.
XML ํ์ผ์ด๋ ๋ค๋ฅธ ํ์ผ๋ช , ํน์ ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ (์๋ฅผ ๋ค๋ฉด ์๋ฌธ์๋ก ์จ์ผ ํ๋ ๊ฑธ ๋๋ฌธ์๋ก ์ผ๋ค๊ฑฐ๋) ํ๋ก์ ํธ์ ์์ด๋ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ด๊ณ ์๋ R.java ํ์ผ์ด ์ฆ๋ฐํด๋ฒ๋ฆฐ๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ์ Build - Clean Project ํน์ File - Invalidate Caches / Restart๋ฅผ ํ๊ฑฐ๋ Tools - Android - Sync Project with Gradle Files๋ฅผ ํ๋ฉด ๋๋ค. ์ ๋ ๊ฒฝ์ฐ res/values/styles.xml์์ ํ ๋ง ์ด๋ฆ ์์
XML ํ์ผ์ด๋ ๋ค๋ฅธ ํ์ผ๋ช , ํน์ ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ (์๋ฅผ ๋ค๋ฉด ์๋ฌธ์๋ก ์จ์ผ ํ๋ ๊ฑธ ๋๋ฌธ์๋ก ์ผ๋ค๊ฑฐ๋) ํ๋ก์ ํธ์ ์์ด๋ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ด๊ณ ์๋ R.java ํ์ผ์ด ์ฆ๋ฐํด๋ฒ๋ฆฐ๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ์ Build - Clean Project ํน์ File - Invalidate Caches / Restart๋ฅผ ํ๊ฑฐ๋ Tools - Android - Sync Project with Gradle Files๋ฅผ ํ๋ฉด ๋๋ค. ์ ๋ ๊ฒฝ์ฐ res/values/styles.xml์์ ํ ๋ง ์ด๋ฆ ์์
Base.Theme.==๋ผ ์น๋ฉด ๋๋ค.5. ์ฌ๋ด[ํธ์ง]
์ด๋ฒ ์คํธ์ ์์ฑ์ด ์ ์ข์ง ์๋ค. ํนํ ์ปดํ์ผ๋ฌ์ ๋ฅ ์คํฌ๋ฆฐ ๊ธฐ๋ฅ์ด ๊ด์ฌํ๋ฉด ํ๋ฆฌ์ง์ด ๋ฐ์ํ๋ ์ค์ ์์ ๊ผญ ์๋๋ก์ด๋ ์คํ๋์ค ๊ฒฝ๋ก๋ฅผ ์ ์ธ ์ง์ ํด ์ฃผ์. ์๋๋ ์์ธํ ์ค์ ๋ฐฉ๋ฒ.
- ์ด๋ฒ ์คํธ UI์์ ์ค์ ์ ์ ํํ๋ค.
- ์ด ๋ถ๋ถ์ ๋ฒ์ ์ ๋ฐ๋ผ ์ฝ๊ฐ ๋ค๋ฅด๋ค.
- 2014์์๋ ์ํฐ๋ฐ์ด๋ฌ์ค๋ฅผ ์ ํ
- 2015์์๋ ๋ณดํธ ํ์ฑ โ ํ์ผ ์์คํ ๊ฐ์์ ์ฌ์ฉ์ ์ง์ ์ ์ ํ
- ์คํฌ๋กค์ ๋ด๋ฆฌ๋ฉด ์ ์ธ ํญ๋ชฉ์ด ์๋ค. ํ์ผ ๊ฒฝ๋ก ํญ์์ ์๋ ๊ฒฝ๋ก[4]๋ฅผ ์ถ๊ฐํ๋ค.
- AS ์์ฒด์ ์ค์น๊ฒฝ๋ก (์ฃผ๋ก
C:\\Program Files\\Android\\*) C:\\Users\\<username>\\AppData\Local\\Android\\*
์ด๊ธฐ์๋ ๊ฐ์ข ๋ฒ๊ทธ์ ์ดํด๋ฆฝ์ค์์ ๋ฏธ์ธํ ์ฐจ์ด์ ๋ค๋ก ์ธํด IDE ์ด์ ์ด ์ ๋์ง ์์์ง๋ง, ์ดํด๋ฆฝ์ค ํ๋ก์ ํธ ๋ง์ด๊ทธ๋ ์ด์ ๋ฐ ์ดํด๋ฆฝ์ค์ ๋์ผํ ๋จ์ถํค ์ธํ ์ ์ ๊ณตํ๊ณ ์ดํด๋ฆฝ์ค์ ๋ํ SDK ์ง์์ ์์ ์ข ๋ฃ๋์๊ธฐ ๋๋ฌธ์ ํ์ฌ๋ ๋๋ค์๊ฐ ์๋๋ก์ด๋ ์คํ๋์ค๋ก ๋์ด์จ ์ํ์ด๋ค.
์ดํด๋ฆฝ์ค์๋ ๋ฌ๋ฆฌ CPU์ ๋จ์ ๋ฌด์ง๋ง์งํ๊ฒ ๋จน๋๋ค.[5] ํนํ ์ฒ์ ํ๋ก์ ํธ๋ฅผ ์ด์์ ๋ ์ํ๋๋ ์ธ๋ฑ์ฑ ๊ณผ์ ์ ์ ๋์ ์ผ๋ก CPU์ ๋ฉํฐ์ฐ๋ ๋ฉ ์ฑ๋ฅ์ ์ํฅ์ ๋ฐ๋๋ฐ, ๋ ธํธ๋ถ์ ์ฐ๊ณ ์๋ค๋ฉด ๋จ์ด์ผ ๋๋ฆด ์ ์์ด๋ CPU๋ ๋๋ถ๋ถ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ฒ์๋ถํฐ ์ด ์ ์ ์ฐธ๊ณ ํด์ผ ํ๋ค. ๊ฒ๋ค๊ฐ ์ด๋ ์ ๋ ์ฑ๋ฅ๋ ํ๊ธฐ ๋๋ฌธ์ ์์ํ๊ฒ
ํ์ฌ ์๋๋ก์ด๋๋ Java 9 ๋ฐ ๊ทธ ์ดํ์ ๋ฒ์ ์ ์์ง ์ ์์ผ๋ก ์ง์ํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์ ์์ ์ผ๋ก ์๋๋ก์ด๋ ์ฑ์ ๋น๋ํ๋ ค๋ฉด Java 8 ์ดํ์ ๋ฒ์ ์ ์ฌ์ฉํด์ผ ํ๋ค. ์๋๋ก์ด๋ ๊ณต์ ๊ฐ๋ฐ์ ๋ฌธ์์์๋ Java 8์ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅํ๊ณ ์๋ค. # ์ฌ๊ธฐ์ ์ ๊ฒฝ์ฐ๊ณ ์ถ์ง ์๋ค๋ฉด ๊ทธ๋ฅ ๊ธฐ๋ณธ ์ต์ ์ธ Embedded JDK๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. 8 ์ ๋๋ง ๋ผ๋ Lambda ํจํด์ ์ธ ์ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋ฉ์ ์ฌ๋ฏธ๊ฐ ๋ํด์ง๋ค. Kotlin์ด Java๋ณด๋ค ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ฏ๋ก ๊ทธ๊ฑธ ๋ฐฐ์ฐ๋ฉด ๋ ์ข๋ค.
AMD ๋ผ์ด์ CPU ๋ฐ๋งค ์ด๊ธฐ, ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ(AVD) ๊ฐ์์ ํ์ํ ์ธํ HAXM(Hardware Accelerated Execution Manager)์ ์ธ ์ ์๋ค๋ ์ ์ด AMD CPU ์ฌ์ฉ์๋ค์๊ฒ ์น๋ช ์ ์ธ ๋ฌธ์ ๋ก ๋ค๊ฐ์์ผ๋, ์๋ฎฌ๋ ์ดํฐ๊ฐ 27.3.8๋ก ์ ๋ฐ์ดํธ๋๋ฉด์ AMD CPU ๋๋ ์๋์ฐ์ Hyper-V๋ฅผ ํตํ ํ๋์จ์ด ์๋ฎฌ๋ ์ดํฐ ๊ฐ์์ ์ง์ํ๊ฒ ๋์๋ค. # ๋จ, Hyper-V๋ฅผ ํ์ฑํํ ๊ฒฝ์ฐ VMware, VirtualBox ๋ฑ์ ๊ฐ์๋จธ์ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ ์ฃผ์.
๋ก๊ณ ๊ฐ ์ผ๋ฃจ๋ฏธ๋ํฐ์ ๋ก๊ณ ์ ์ ์ฌํด ์ด๋ฐ ์งค๋ ๋ฑ์ฅํ๋ค.
๋ช๋ช ๋คํฐ์ฆ๋ค์ ์ด ์ฌ์ง์ ๋ณด๊ณ JetBrains๊ฐ ์ผ๋ฃจ๋ฏธ๋ํฐ์ ์ผ๋ถ๋ผ๊ฑฐ๋ ๊ฐ์ ํ์ฌ์ ์ด ์ธ์ด๊ฐ ์๊ธฐ๋ค์ ๋ฌด๊ธฐ๋ฅผ ๋ง๋๋ ๋ฐ์ ์ฐ์ด๋ ์ธ์ด๋ผ๋ ๋๋ด(...)๋ ํ๊ณ ์๋ค.
6. ์ธ๋ถ ๋งํฌ[ํธ์ง]
7. ๊ด๋ จ ๋ฌธ์[ํธ์ง]
[1] IntelliJ IDEA์๋ ์๋๋ก์ด๋ ์คํ๋์ค๊ฐ ํ๋ฌ๊ทธ์ธ ํํ๋ก ํฌํจ๋์ด ์๋ค. ํ์ง๋ง ์๋๋ก์ด๋ ์คํ๋์ค๊ฐ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ๋ฅ ์
๋ฐ์ดํธ ๋ฐ ๋ฒ๊ทธ ํจ์น๋ฅผ ๋ ๋นจ๋ฆฌ ์ ๊ณตํด ์ฃผ๊ธฐ ๋๋ฌธ์, IntelliJ IDEA์ ์๋๋ก์ด๋ ํ๋ฌ๊ทธ์ธ๋ณด๋ค๋ ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข๋ค. ๋์ ๋ด์ผ ์ธ ์ ์๋ IntelliJ IDEA์๋ ๋ฌ๋ฆฌ ๋ฌด๋ฃ์ด๊ธฐ๋ ํ๊ณ .
[3] ํฐํธ ๋ ๋๋ง์ ํ์ํ๋ค.
[4] ๋ง์ง๋ง์
\\*๊ฐ ๋ค์ด๊ฐ์ผ ํ์ ํด๋๋ฅผ ํฌํจํ ์๋ธํธ๋ฆฌ ์ ์ฒด๊ฐ ์ ํ๋๋ค.[5] ์๋๋ก์ด๋ ์คํ๋์ค์ ๊ธฐ๋ฐ์ด ๋๋ IntelliJ IDEA ์์ฒด๊ฐ ๊ทธ๋ ๋ค.