3๊ฐ. ์๋๋ก์ด๋ ์คํ๋์ค ๋ค์ด๋ก๋ ๋ฐ ์ค์น
https://developer.android.com/studio/install?hl=ko
AVD ์ฒดํฌ ํด์ ํ์ง ๋ง๊ณ ๊ฐ์ด ์ค์นํ๊ธฐ
์ด๊ธฐ ์ค์ - ์ด์ ์ ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ค์นํ ์ ์ด ์๊ณ , ์
์
ํ์ผ์ด ๋จ์ ์๋ค๋ฉด ๋๋ ํ ๋ฆฌ ์ค์ ํ๋ฉด ๋๊ณ
์ด์ ์ ์ค์นํ ์ ์๊ฑฐ๋ ์ ์ฉํ ์ ์๋ค๋ฉด 'Do not import settings'
Install Type์ ๊ทธ๋ฅ ๊ธฐ๋ณธ์ ์ผ๋ก Standard,
์ด๋ฏธ ์ค์นํ ์ ์๋ค๋ฉด Custom์ผ๋ก ์ค์น ํด๋ ์ง์ ํด์ฃผ๋ ์ ๋์
4๊ฐ. ํ๋ก์ ํธ ์์ฑ ๋ฐ ๊ตฌ์ฑ์์
4-1. ํ๋ก์ ํธ ์์ฑ
(1) New Project ํด๋ฆญ
(2) Phone and Tablet - Empty Activity ํด๋ฆญ
Name: ๋ณธ์ธ ํ๋ก์ ํธ ์ด๋ฆ ๋ง์๋๋ก ์ ํ๊ธฐ
Package name: (์ค์) ์ดํ๋ฆฌ์ผ์ด์
์ ์๋ณ์ ๋ฌธ์์ด์ด ๋จ. ์ ์ผ๋ฌด์ดํ ๋จ์ด๋ก ์ง์ ํ๊ธธ ์ถ์ฒ
์: com.jin.sesac1
Save location: ํด๋ ์ง์
Minimum SDK: ํน์ API ์ง์
Language: ๊ฐ์๋ Kotlin์ผ๋ก ์งํ๋๊ธฐ ๋๋ฌธ์ Kotlin์ผ๋ก ์ค์
4-2. ๋ชจ๋ ๊ตฌ์ฑ
์์ ๊ฐ์ด ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋๋ฉด ์๋์ผ๋ก ํ๋ก์ ํธ ํด๋์ ํ์ผ๋ค์ด ์๊น.
(1) ํ๋ก์ ํธ = ์ฌ๋ฌ ๋ชจ๋์ ๊ณตํต ๊ด๋ฆฌ ๋จ์
(2) ํ๋ก์ ํธ ๋ง๋ค๋ฉด app์ด๋ผ๋ ๋ชจ๋ ํ๋๊ฐ ์๋์ผ๋ก ๋ง๋ค์ด์ง. ์ํ๋ค๋ฉด ๋ค๋ฅธ ๋ชจ๋๋ ์ฌ๋ฌ ๊ฐ ๋ง๋ค ์ ์์
์ฐ๋ฆฌ๊ฐ ๋ง๋๋ ค๊ณ ํ๋ ์ฑ ํ๋๋ ๋ชจ๋ ํ๋๋ผ๊ณ ์ดํดํ๋ฉด ๋จ (์๋๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฑ๊ฒฉ์ ๋ชจ๋์ผ ์๋ ์์)
(3) app -> src -> main ๋ถํฐ ๊ฐ๋ฐ์๊ฐ ๋ง๋ ๋ชจ๋ ๊ฒ์ ๊ด๋ จ์ด ์์. ๋๋จธ์ง๋ ๊ทธ๋ฅ ์๋ ์์ฑ
๋ฐ๋ผ์ ๋ด๊ฐ ๋ง๋ ์ฝ๋๋ ํ์ผ๋ค ๋ณด๋ ค๋ฉด main์์๋ถํฐ ๋ณด์์ผ ํจ
๋ณด์๋ค์ํผ ์ค์ ํ์์ฐฝ์ ํ์ผ๊ตฌ์กฐ์, ์๋๋ก์ด๋ ์คํ๋์ค์์์ ํ์ผ๊ตฌ์กฐ๊ฐ ์กฐ๊ธ ๋ค๋ฆ
๊ฐ๋ฐ์์ ๊ด๋ จ์ด ์๋ ๋น๋ํด๋ง์ ์ํ ํด๋, ํ์ผ๋ค์ ์๋์ผ๋ก ์จ๊ฒจ์ฃผ๋ ํธ
๋ฐ๋ผ์ ์ฌ๊ธฐ์ ๋ณด์ฌ์ฃผ๋ ๊ฑด ๊ฐ๋ฐ์์ ์ง๊ด๋ ํด๋/ํ์ผ๋ง ๋ณด์ฌ์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋จ.
(1) ํ์์ฐฝ์์ appํด๋ ์์ ์๋ 'build.gradle.kts'์ ์๋๋ก์ด๋ ์คํ๋์ค์์๋ ๋ณ๋๋ก 'Gradle Scripts'๋ก ํํ
build.gradle : ๋น๋ ํ๊ฒฝ ํ์ผ. ์ฐ๋ฆฌ๋ ๋น๋ ํด์๊ฒ ์ด๋ฐ ์์ผ๋ก ๋น๋๋ฅผ ํด์ค๋ผ๊ณ ๋ช
์ํ๋ ๊ฒ.
๊ฐ๋ฐ์๋ค์ด ์์ฃผ ์ด์ด์ ์์ ์ ํ๊ฒ ๋จ
(2) AndroidManifest.xml : ์ฑ์ ๋ฉ์ธ ํ๊ฒฝ ํ์ผ. ์ค์ฌ์ ๋งค๋ํ์คํธ ํ์ผ์ด๋ผ๊ณ ๋ง์ด ๋งํจ. ์๋ ์ค์ํ ํ์ผ
๊ฐ๋ฐ์ ํ๋ฉฐ ์ด ํ์ผ ์ด์ด์ ๋ถ์/์ถ๊ฐ ๊ต์ฅํ ๋ง์ด ํ๊ฒ ๋จ. ์ธ์ฐ๊ธฐ ์ซ์ด๋ ์ธ์์ง
(3) res : ๋ฆฌ์์ค ํด๋. ์๋๋ก์ด๋์ ๋ชจ๋ ๋ฆฌ์์ค๋ res ํด๋ ๋ฐ์ ๋ค์ด๊ฐ
drawable - ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ๋ ๋ถ๋ถ
layout - UI๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ xml์ด ๋ค์ด๊ฐ๋ ๋ถ๋ถ
mipmap - ์ฑ์ ์์ด์ฝ ์ด๋ฏธ์ง
values - ๋ฌธ์์ด ๋ฑ๋ฑ์ ๊ฐ
(+) ์ด 4๊ฐ๋ณด๋ค ๋ฆฌ์์ค ํด๋ ์ข
๋ฅ๋ ํจ์ฌ ๋ง๊ณ , ๋์ค์ ๋ค๋ฃฐ ๊ฒ.
(4) MainActivity.kt : ์กํฐ๋นํฐ ํด๋์ค. javaํด๋ ์๋์ ์๋ ์ฝํ๋ฆฐ ํ์ผ.
์ด๊ฑฐ ์ด์ธ์๋ ํจ์ฌ ๋ ๋ง์ ์ข ๋ฅ๊ฐ ์์ง๋ง, ์ผ๋จ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง ์ง๊ณ ๋์ด๊ฐ๊ธฐ
5๊ฐ. AVD ์ค์ ๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ํ ์คํธ
๊ฐ์ ๋๋ฐ์ด์ค์ธ AVD๋ฅผ ์ค์ ํ๊ณ ๊ทธ AVD๋ฅผ ๊ตฌ๋์์ผ์ ์ฑ์ ํ
์คํธํ๋ ๊ฒ์ด ๋ชฉํ
AVD: ์๋๋ก์ด๋ ๊ฐ์ ๋๋ฐ์ด์ค = Android Virutal Device = ์๋ฎฌ๋ ์ดํฐ
โ
์ด์ ์ ํ์๋ก ์ค์ ํด์ผ ํ ๊ฒ
File - Settings - Editor - General - Auto Import ์ค์
์๋ ์๋๋ก์ด๋ ์คํ๋์ค์์ ํน์ ํด๋์ค๋ฅผ ์
๋ ฅํ๊ฒ ๋ค๊ณ ํ๋ฉด ์์ ์ํฌํธ ๊ตฌ๋ฌธ์ ์จ์ค์ผ ํ๋๋ฐ ๋๋ฌด ๊ท์ฐฎ์์,
๋จ์ถํค ๋๋ฅด๋ ๊ฒ๋ ๋ง์ด ๋ถํธํ๋ ์๋์ผ๋ก ๊ทธ ๊ตฌ๋ฌธ์ ์จ์ฃผ๊ฒ ํ๋ auto import๋ฅผ ์ค์ ํ๋ ๊ฒ ํ์
Kotlin - ์ฒดํฌ๋ฐ์ค 2๊ฐ ๋ชจ๋ ์ ํํ๊ธฐ
AVD Manager (์ง๊ธ์ Device Manager๋ก ๋ฐ๋ ๋ฏ)
(1) +๋ฅผ ๋๋ฌ ํ๋์จ์ด ํ๋์ ๋๋ฐ์ด์ค๋ฅผ ์ ํํด์ ์ค์
(2) system Image ์ ํ - ํน์ ๋ฒ์ ์ AVD๋ฅผ ๋ง๋ค๊ฒ ๋ค ํ๋ฉด ํด๋น ๋ฒ์ ์ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ํด๋ฆญํด์ ๋ค์ด ๋ฐ์ ๋ค ์ค์ ํด์ฃผ์ด์ผ ํจ (๋ค๋ง ํ๋ํ๋ ์ฌ์ด์ฆ๊ฐ ๋๋ฌด ํฌ๊ณ , AVD๋ ์ด์ฐจํผ ํ
์คํธ์ฉ๋ฐ์ ์ ๋๊ธฐ ๋๋ฌธ์ ๋ช ๊ฐ๋ง ํด๋ณผ ๊ฒ)
(3) Verify Configuration: ๋ถ๊ฐ ์ค์ , ๊ทธ๋ฅ ์ค์ํ ๊ฑด ์์
=> ํด๋น OS๊ฐ ๋ค์ด๊ฐ ํ๋์จ์ด ๊ฐ์ ๋ชจ๋ฐ์ผ์ด ์๊น
๋ง๋ค์ด ์ง๊ณ ๋ ๋ค์ ์ฌ์ ๋ฒํผ์ ๋๋ฌ์ ํ๋์จ์ด๋ฅผ Launchํด๋ณด๋ฉด ๋จ
(์๋๋ก์ด๋ ์คํ๋์ค ๋ด Logcat ์ฐฝ์ ์ฐ๋ฆฌ๊ฐ ๊ตฌ๋์ํจ ๋๋ฐ์ด์ค ๋ชฉ๋ก์ด ๋์์ผ ํ๊ณ , ๊ทธ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ์ด ๋์ด ์์ด์ผ ํจ
๊ทธ๋์ผ๋ง AVD๊ฐ ์ธ์ง๊ฐ ๋ ๊ฒ์ด๊ณ ํ
์คํธ๋ฅผ ์งํํ ์ ์์)
์ด ์ํ์์ ๋ชจ๋๋ช ์ ์ค์ ํ๊ณ RUN๋ฒํผ์ ๋๋ฌ์ฃผ๋ฉด App์ด ๋น๋๋๊ณ ์คํ ๋จ
6๊ฐ. ํฐํ ์คํธ
AVD ํ ์คํธ๋ ์ข์ง๋ง, ๊ฒฐ๊ตญ ๊ถ๊ทน์ ์ผ๋ก ์ค์ ๋ก ์๋ํ๋ ์ง ํ์ธํด์ผ ํ๊ธฐ์ ํฐํ ์คํธ๋ ์ค์ํ๊ณ , ๊ผญ ํ์ํจ
์๋์ ๊ฐ์ ์ฌ์ ์ค๋น์ฌํญ์ด ํ์ํจ
(1) ๊ฐ๋ฐ์ ์ปดํจํฐ : Android Driver ์ค์น (๊ตฌ๊ธ ๋๋ผ์ด๋ฒ๊ฐ ์๋๋ผ, ์ค๋งํธํฐ ์ ์์ฌ์ ๋๋ผ์ด๋ฒ - ์ผ์ฑ)
(2) ํ
์คํธ ํฐ : USB Debugging ํ์ฉ (๋ฐํ์ ๋ก๊ทธ๊ฐ usb์ญ์ ํตํด ๋๊ฒจ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค์ . ๊ฐ๋ฐ์๋ชจ๋์์ ์ค์ )
์ค๋งํธํฐ์ ์ปดํจํฐ์ ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ, ๋๋ฒ๊น
ํ์๋ AVD ๊ตฌ๋ ๋ฐฉ๋ฒ๊ณผ ๋๊ฐ์ด,
๋๋ฐ์ด์ค๋ฅผ ์ค์ ๋๋ฐ์ด์ค๋ช
์ผ๋ก ์ ํํ๊ณ Run๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋จ (์ค์ ์ธ์คํจ ํ ์คํ๋จ)