๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ์ผ์ง€ ๐Ÿ‘ฉ‍๐Ÿ’ป

๐Ÿ› ๏ธ minSdk์™€ targetSdk๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์ • ๊ฐ€๋Šฅํ• ๊นŒ?

by chuyj15 2025. 6. 18.
728x90
๋ฐ˜์‘ํ˜•
SMALL

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด: ๋„ค, ๊ฐœ๋ฐœ์ž๊ฐ€ minSdk์™€ targetSdk๋Š” ์ง์ ‘ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”!


๊ทธ๋Ÿฐ๋ฐ… ๋ฌด์กฐ๊ฑด ๋‚ฎ๊ฒŒ ์„ค์ •ํ•œ๋‹ค๊ณ  ํ•ด์„œ ๋ชจ๋“  ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฒ„์ „์—์„œ ์•ฑ์ด ์ž˜ ๋Œ์•„๊ฐ€๋Š” ๊ฑด ์ ˆ๋Œ€ ์•„๋‹™๋‹ˆ๋‹ค.

์™œ ๊ทธ๋Ÿฐ์ง€ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด๋“œ๋ฆด๊ฒŒ์š”.


๐Ÿ› ๏ธ minSdk์™€ targetSdk๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์ • ๊ฐ€๋Šฅํ•ด์š”!

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ๋งŒ๋“ค ๋•Œ, ์•„๋ž˜์ฒ˜๋Ÿผ build.gradle ํŒŒ์ผ์—์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ฐ’์„ ๋„ฃ์Šต๋‹ˆ๋‹ค:

android {
    compileSdk 35

    defaultConfig {
        minSdk 21      // ์ตœ์†Œ ์ง€์› ๋ฒ„์ „ (Android 5.0)
        targetSdk 35   // ์ตœ์ ํ™” ๋Œ€์ƒ ๋ฒ„์ „ (Android 15)
    }
}

โœ… ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฒฐ์ •ํ•˜๋Š” ์ด์œ ?

  • ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์“ธ ์ˆ˜ ์žˆ๋А๋ƒ
  • ์–ด๋–ค ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋А๋ƒ
  • ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ์šฉ์ž์ธต์„ ์ปค๋ฒ„ํ•  ๊ฒƒ์ด๋ƒ

์ด๋Ÿฐ ์ „๋žต์— ๋”ฐ๋ผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.


โ“ ๊ทธ๋Ÿผ minSdk๋ฅผ ๋ง‰ ๋‚ฎ๊ฒŒ 14, 15๋กœ ์„ค์ •ํ•˜๋ฉด ๋‹ค ๋˜๋Š” ๊ฑฐ ์•„๋ƒ?

๐Ÿค” ์ด๋ก ์ ์œผ๋กœ๋Š” ์˜ˆ, ์‹คํ–‰์€ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์–ด์š”.

ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ๋งค์šฐ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด…

  1. ์ตœ์‹  ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
    • Android 5.0 ์ด์ „์€ ์˜ค๋ž˜๋œ API๋งŒ ์ œ๊ณต → ์ตœ์‹  UI ์ปดํฌ๋„ŒํŠธ, ๋ณด์•ˆ ๊ธฐ๋Šฅ, Jetpack ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์ด ์•„์˜ˆ ์ž‘๋™ ์•ˆ ํ•จ
  2. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถฉ๋Œ
    • ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ตœ์†Œ minSdk 21 ์ด์ƒ์„ ์š”๊ตฌ
    • ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋นŒ๋“œ ์—๋Ÿฌ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์›€
  3. ํ…Œ์ŠคํŠธ ๋ถˆ๊ฐ€๋Šฅ
    • ๋„ˆ๋ฌด ์˜ค๋ž˜๋œ Android ๋ฒ„์ „์€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋„ ์—†๊ณ , ์‹ค์ œ ๊ธฐ๊ธฐ๋„ ๊ฑฐ์˜ ์—†์Œ
    • ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋„ ์žก์•„๋‚ผ ๋ฐฉ๋ฒ•์ด ์—†์–ด์š”
  4. ์‚ฌ์šฉ์ž ์ ์œ ์œจ ๊ฑฐ์˜ ์—†์Œ
    • Android 5.0 ์ดํ•˜ ๊ธฐ๊ธฐ ์“ฐ๋Š” ์‚ฌ๋žŒ์€ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 1%๋„ ์•ˆ ๋จ

๐Ÿ“Š ํ˜„์‹ค์ ์ธ ์„ ํƒ์€?

์šฉ๋„๊ถŒ์žฅ ์„ค์ •

 

๋Œ€์ค‘์ ์ธ ์ผ๋ฐ˜ ์•ฑ minSdk = 21~24 (Android 5.0~7.0)
์ตœ์‹  ๊ธฐ๋Šฅ์„ ์ ๊ทน ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ์•ฑ minSdk = 26~29 (Android 8.0~10)
๋Œ€๊ธฐ์—… ์„œ๋น„์Šค ์ˆ˜์ค€ minSdk = 23, targetSdk = ์ตœ์‹ ๋ฒ„์ „
 

 

๋ณดํ†ต ์š”์ฆ˜ ์•ฑ์€ minSdk 24~26 (Android 7.0~8.0) ์ •๋„๊ฐ€ ๊ธฐ๋ณธ์ด์—์š”.


๐Ÿ’ฌ ์ •๋ฆฌํ•˜์ž๋ฉด

  • โœ”๏ธ minSdk์™€ targetSdk๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์„ค์ • ๊ฐ€๋Šฅ
  • โš ๏ธ ํ•˜์ง€๋งŒ ๋„ˆ๋ฌด ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๊ธฐ๋Šฅ ์ œํ•œ, ์—๋Ÿฌ, ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ๋ฐœ์ƒ
  • ๐Ÿ“ฑ ๊ธฐ๊ธฐ ์ ์œ ์œจ + ๊ธฐ๋Šฅ ์ง€์› ๋ฒ”์œ„๋ฅผ ๊ณ ๋ คํ•ด์„œ ํ˜„์‹ค์ ์ธ ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ด์•ผ ํ•ด์š”!

 

โœ… minSdk ์„ค์ •์ด ์‹ค์ œ๋กœ ํ™œ์šฉ๋˜๋Š” ๊ณณ๋“ค


1. ๐Ÿ“ฒ ์•ฑ ์„ค์น˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํŒ๋‹จ (Play Store & ๊ธฐ๊ธฐ์—์„œ)

๊ฐ€์žฅ ๋ˆˆ์— ๋„๋Š” ํšจ๊ณผ๋Š” ๋ฐ”๋กœ ์ด๊ฑฐ์˜ˆ์š”:

๐Ÿ“Œ minSdk๋ณด๋‹ค ๋‚ฎ์€ Android ๋ฒ„์ „์ด ์„ค์น˜๋œ ๊ธฐ๊ธฐ์—์„œ๋Š” ์•ฑ ์„ค์น˜ ์ž์ฒด๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!

  • ์‚ฌ์šฉ์ž๊ฐ€ Google Play์—์„œ ์•ฑ์„ ๊ฒ€์ƒ‰ํ•ด๋„ ๋ณด์ด์ง€ ์•Š์Œ
  • APK๋ฅผ ์ง์ ‘ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•ด๋„ "์•ฑ์ด ์„ค์น˜๋˜์ง€ ์•Š์Œ" ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์˜ˆ์‹œ:

  • minSdk = 26 (Android 8.0)์œผ๋กœ ์„ค์ •๋œ ์•ฑ
  • Android 7.0 ํฐ์—์„œ๋Š” ์„ค์น˜ โŒ

2. ๐Ÿงฑ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ API ๋ฒ”์œ„ ์ œํ•œ

minSdk๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Android API ์ˆ˜์ค€์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    // Android 8.0๋ถ€ํ„ฐ ์ƒ๊ธด ๊ธฐ๋Šฅ ์‚ฌ์šฉ
    startForegroundService(...)
}
  • minSdk 26 ์ด์ƒ์ด๋ฉด ์กฐ๊ฑด ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • minSdk 21์ด๋ผ๋ฉด ๋ฐ˜๋“œ์‹œ if ์ฒดํฌํ•ด์•ผ ์•ˆ์ „ํ•จ → ์•„๋‹ˆ๋ฉด ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ๋ฐœ์ƒ!

3. ๐Ÿงช ์•ฑ ๋นŒ๋“œ ์‹œ ์ปดํŒŒ์ผ๋Ÿฌ ๊ฒ€์ฆ ๊ธฐ์ค€

Android Studio๋Š” minSdk๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์Œ์„ ๊ฒ€์‚ฌํ•ด์š”:

  • "์ด ํ•จ์ˆ˜๋‚˜ ํด๋ž˜์Šค๋Š” minSdk๋ณด๋‹ค ๋†’์€ ๋ฒ„์ „์—์„œ๋งŒ ์ง€์›๋˜๋Š”๋ฐ, ์จ๋„ ๋˜๊ฒ ์–ด?"
  • minSdk๋ณด๋‹ค ๋†’์€ ๋ฒ„์ „ ์ „์šฉ API๋ฅผ ์“ฐ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฒฝ๊ณ  ๋˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๋„์›€

4. ๐Ÿ“ฆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธํ™˜์„ฑ ๊ฒฐ์ •

๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ž์‹ ์˜ ์ตœ์†Œ ์š”๊ตฌ SDK๋ฅผ ๋ช…์‹œํ•ด๋‘ก๋‹ˆ๋‹ค.

gradle
 
implementation 'androidx.camera:camera-core:1.1.0' // requires minSdk 21
  • ํ”„๋กœ์ ํŠธ์˜ minSdk๊ฐ€ 19๋ผ๋ฉด → ๋นŒ๋“œ ์—๋Ÿฌ ๋ฐœ์ƒ
  • ์ด ๋•Œ๋ฌธ์— ์ตœ์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ์‹œ minSdk๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์˜ฌ๋ ค์•ผ ํ•  ์ˆ˜๋„ ์žˆ์–ด์š”

5. ๐Ÿš€ ์•ฑ ํฌ๊ธฐ ์ตœ์ ํ™” (๋ฆฌ์†Œ์Šค ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ)

์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์–ด์š”.

 
res/
โ”œโ”€ drawable/
โ”œโ”€ drawable-v26/   ← Android 8.0 ์ด์ƒ์—์„œ๋งŒ ์‚ฌ์šฉ๋จ

minSdk๊ฐ€ ๋†’์„์ˆ˜๋ก ํ•˜์œ„ ๋ฒ„์ „ ๋Œ€์‘ ๋ฆฌ์†Œ์Šค๋ฅผ ๋œ ํฌํ•จํ•˜๊ฒŒ ๋˜์–ด ์•ฑ ํฌ๊ธฐ๋„ ์ž‘์•„์ง€๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Œ.


๐Ÿ’ฌ ์ •๋ฆฌํ•˜๋ฉด

ํ•ญ๋ชฉminSdk๊ฐ€ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

 

์•ฑ ์„ค์น˜ ํŠน์ • Android ๋ฒ„์ „ ์ดํ•˜์—์„œ๋Š” ์„ค์น˜ ๋ถˆ๊ฐ€
์ฝ”๋“œ ์ž‘์„ฑ API ์‚ฌ์šฉ ์ œํ•œ → ์กฐ๊ฑด๋ฌธ or ํ˜ธํ™˜ ์ฝ”๋“œ ํ•„์š”
๋นŒ๋“œ ๊ฒ€์‚ฌ SDK ์กฐ๊ฑด ์œ„๋ฐ˜ ์‹œ ์—๋Ÿฌ ๋ฐœ์ƒ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„ ์ œํ•œ๋จ
๋ฆฌ์†Œ์Šค/์•ฑ ์šฉ๋Ÿ‰ ๊ณ ๋ฒ„์ „๋งŒ ํƒ€๊นƒํ•˜๋ฉด ๋” ๊ฐ„๋‹จํ•ด์ง€๊ณ  ์•ฑ์ด ๊ฐ€๋ฒผ์›Œ์ง
728x90
๋ฐ˜์‘ํ˜•
LIST