๐Ÿ“ย ๊ธฐ๋ณธ ๊ธฐ์ˆ  ๋ฐ SDK Version

<aside>

์–ธ์–ด

Gradle ํ”Œ๋Ÿฌ๊ทธ์ธ

์ฝ”ํ‹€๋ฆฐ ํ™•์žฅ

๐Ÿ› ๏ธย Compile SDK

<aside>

API 34 (โ€UpsideDownCakeโ€, Android 14.0)

์„ ํƒ ์ด์œ 

New apps and app updates must target Android 14 (API level 34) or higher to be submitted to Google Play; except for Wear OS and Android TV apps, which must target Android 13 (API level 33) or higher. ์ƒˆ ์•ฑ ๋ฐ ์•ฑ ์—…๋ฐ์ดํŠธ๋Š” Android 14(API 34) ์ด์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜์—ฌ์•ผ Google Play์— ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต์‹ ๋ฌธ์„œ)

๋”ฐ๋ผ์„œ Compile SDK ๋ฒ„์ „์„ API 34๋กœ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

</aside>

๐Ÿ› ๏ธย Target SDK

<aside>

API 34 (โ€UpsideDownCakeโ€, Android 14.0)

์„ ํƒ ์ด์œ 

You should also verify any restrictions that may exist in the version of the Android Support Library that you're using. As always, you must ensure compatibility between the major version of Android Support Library and your app'sย compileSdkVersion. We recommend that you choose aย targetSdkVersionย smaller than or equal to the Support Library's major version. We encourage you to update to a recent compatible Support Library in order to take advantage of the latest compatibility features and bug fixes.

๊ณต์‹ ๋ฌธ์„œ์—์„œ๋Š” target์˜ SDK ๋ฒ„์ „์„ compile SDK๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Compile SDK ๋ฒ„์ „๊ณผ ๋™์ผํ•œ ๋ฒ„์ „์ธ API 34๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

</aside>

๐Ÿ› ๏ธย Minimum SDK

<aside>

API 26 (โ€Oreoโ€, Android 8.0)

์„ ํƒ ์ด์œ 

  1. ๋†’์€ Android ์ ์œ ์œจ

    ์šฐ์ˆ˜ํ•œ ํ˜ธํ™˜์„ฑ ์ œ๊ณต

    API Level 26์— ํ•ด๋‹นํ•˜๋Š” Android 8.0 (Oreo) ๋ฒ„์ „์€ ์•ฝ 95.4%์˜ ๋†’์€ ๊ธฐ๊ธฐ ์ ์œ ์œจ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์•ฑ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ ์ œํ•œ

    ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช… ํ–ฅ์ƒ

    API Level 26์—์„œ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์•ฑ์— ๋Œ€ํ•œ ์ œํ•œ์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๊ธฐ์˜ ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ๋ฅผ ์ค„์—ฌ์ฃผ๊ณ  ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. [Android Developers]

  3. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์œ„์น˜ ์—…๋ฐ์ดํŠธ ์ œํ•œ

    ํ”„๋ผ์ด๋ฒ„์‹œ ๋ณดํ˜ธ

    API Level 26 ์ดํ›„๋ถ€ํ„ฐ๋Š” ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ง€์†์ ์œผ๋กœ ์œ„์น˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์„ ์ œํ•œํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. [Android Developers]

    ์œ„์น˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ๋Š” ์ €ํฌ ์•ฑ ์„œ๋น„์Šค๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž์˜ ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.

  4. ๋กœ์ปฌ DB ํ™œ์šฉ๋„ ํ–ฅ์ƒ

    Room Database

    Room์€ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ, API Level 24 ์ด์ƒ์—์„œ ์ตœ์ ํ™”๋œ ์„ฑ๋Šฅ๊ณผ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. [Stack Overflow]

    ์ตœ๊ทผ ์žฅ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋ก, ์•Œ๋ฆผ ์„ค์ •, ๋กœ๊ทธ์ธ ๋“ฑ ์•ฑ์— ํ•„์ˆ˜์ ์ด๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹์œผ๋กœ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

    API Level 24 ์ด์ƒ์„ ์‚ฌ์šฉํ•ด์•ผ Room์˜ ์ตœ์ ํ™”๋œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ์นด๋ฉ”๋ผ ์ ‘๊ทผ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ๋ฐ ํ˜ธํ™˜์„ฑ [ํ›„์ˆœ์œ„]

    CameraX

    CameraX๋Š” ์นด๋ฉ”๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๊ฐ„์†Œํ™”ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, API Level 24 ์ด์ƒ์—์„œ๋Š” ๋” ๋‚˜์€ ์„ฑ๋Šฅ๊ณผ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. [Android Developers]

    ์Šคํƒ€์นดํ† (์ผ์ƒ) ๊ธฐ๋ก ๋ฐ ์ถ”์–ต(ํด๋”) ๊ธฐ๋ก์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ €ํฌ ์•ฑ ์„œ๋น„์Šค์—์„œ๋Š” ์‚ฌ์ง„๊ณผ ์นด๋ฉ”๋ผ ์ ‘๊ทผ์ด ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

    ๋•Œ๋ฌธ์— ๋” ์ข‹์€ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด์„œ API Level 24 ๋ณด๋‹ค ๋†’์€ ๋ฒ„์ „์„ ๊ณ ๋ คํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  6. ์•Œ๋ฆผ ์ฑ„๋„(Notification Channels) [ํ›„์ˆœ์œ„]

    ์‚ฌ์šฉ์ž ์ œ์–ด ๊ฐ•ํ™”

    API Level 26์—์„œ๋Š” ์•Œ๋ฆผ ์ฑ„๋„์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์ด ๊ฐ ์•ฑ์˜ ์•Œ๋ฆผ ์ข…๋ฅ˜๋ณ„๋กœ ์„ธ๋ถ€ ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [Android Developers]

</aside>