ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AOS] ์•ˆ๋“œ๋กœ์ด๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœํ•˜๊ธฐ 1
    2022. 10. 2. 13:54
    ๋ฐ˜์‘ํ˜•

     

     

    ๐Ÿข
    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœํ•ด.
    ๋„ค...?
    ๐Ÿถ

     

     

     

    ๐Ÿข
    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœํ•˜๋ผ๊ณ .
    ๊ทธ๊ฒŒ ๋ญ”๋ฐ... ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฑด๋ฐ...!
    ๐Ÿถ

     

     

     

     

     

    ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ์ž๋กœ ์ฒซ ์ž…์‚ฌํ•˜๊ณ  ๋‹นํ™ฉ์Šค๋Ÿฌ์› ๋˜ ๊ฑด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์ด์—ˆ๋‹ค.

    ํ•ญ์ƒ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต์œ ๋˜์–ด ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋Œ์–ด์จ๋ณด๊ธฐ๋งŒ ํ–ˆ์ง€ ์ง์ ‘ ๊ฐœ๋ฐœ์€ ์•ˆํ•ด๋ดค์—ˆ๊ณ  ๋˜ ๋‚ด๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋  ์ค„๋„ ๋ชฐ๋ž๋‹ค.

    ์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋‹น์—ฐํžˆ ํšŒ์‚ฌ์—์„œ๋Š” ์ž์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœํ•ด ์‚ฌ์šฉํ• ํ…๋ฐ ์™œ ์ƒ๊ฐ์„ ๋ชปํ–ˆ์—ˆ์„๊นŒ...

     

     

     

    ์†”์งํ—Œ ๋‚˜์˜ ์‹ฌ์ •...

     

     

    ์•„๋ฌดํŠผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์€ ์‹ค๋ฌด ํ”„๋กœ์ ํŠธ์™€ ํ•™๋ถ€ ์ˆ˜์ค€ ํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜์˜ ์ฐจ์ด๋ฅผ ๋Š๋ผ๊ฒŒ ๋œ ๊ณ„๊ธฐ ์ค‘ ํ•˜๋‚˜์˜€๋‹ค.

    ๊ทธ๋ž˜์„œ! ์ด๋ฒˆ ๊ธ€์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ดˆ๊ธฐ ์„ค์ •๊ณผ ๊ฐœ๋ฐœํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉํ•ด๋ณด๊ธฐ์— ๊ด€ํ•œ ๊ธ€์ด๋‹ค.

     

     

     

     


     

     

    ๋ฒ”๋ธ”๋น„ ๐Ÿ

     

     
     
     
    ์•ˆ๋“œ๋กœ์ด๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ ์„ธํŒ…

     

     

    ์ดˆ๊ธฐํ™”๋ฉด

     

    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค.

    ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ New Project ํด๋ฆญ

     

     

    New Project๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‚˜์˜ค๋Š” ์ฐฝ

     

    ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ํ•ญ์ƒ Empty Activity๋ฅผ ์„ ํƒํ–ˆ๋˜ ์ด์ „๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ณผ๊ฐํžˆ No Activity๋ฅผ ์„ ํƒํ•ด์ค€๋‹ค.

     

     

     

    ๊ทธ ํ›„ ๋‚˜์˜ค๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ํŒจํ‚ค์ง€๋ช…, ํ”„๋กœ์ ํŠธ ์œ„์น˜ ๋“ฑ ์„ค์ •ํ•ด์ฃผ๋ฉด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์™„.

     

    ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํžˆ ๋๋‚˜๋ฉด ์ข‹๊ฒ ์ง€๋งŒ build.gradle ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค.

     

     

    plugins {
        id 'com.android.application'
        id 'kotlin-android'
    }

    ๐Ÿ‘‡๐Ÿป

    plugins {
        id 'com.android.library'
        id 'kotlin-android'
    }

     

     

    App ์ˆ˜์ค€์˜ build.gradle์—์„œ ์ƒ๋‹จ์˜ application์œผ๋กœ ๋˜์–ด์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ถ€๋ถ„์„ library๋กœ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.

     

    android {
        ...
        defaultConfig {
            applicationId "xxx.xxxx.xxxxxx"
            ...
        }
    }

    ๐Ÿ‘‡๐Ÿป

    android {
        ...
        defaultConfig {
            ...
        }
    }
     

     

    ๊ทธ๋ฆฌ๊ณ  defaultConfig ๋ถ€๋ถ„์˜ applicationId๋ฅผ ๊ณผ๊ฐํžˆ ์‚ญ์ œํ•œ๋‹ค.

     

    gradle ์ ์šฉ์„ ์œ„ํ•ด ์ƒ๋‹จ์˜ Sync Now๋ฅผ ๋ˆ„๋ฅด๋ฉด ์„ค์ • ๋!

     

     

     

     

     

    ์•ˆ๋“œ๋กœ์ด๋“œ ์ปค์Šคํ…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

     

     

    ์ด์ œ ์–ด์ฐŒ ์ €์ฐŒ ๊ฐœ๋ฐœํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‹ค์ œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉํ•ด๋ณด์ž!

     

    ๊ฐœ๋ฐœํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒจํ‚ค์ง€ ํŒŒ์ผ์ธ aar ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

     

     

     

    ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ์šฐ์ธก ์ƒ๋‹จ์˜ ์ฝ”๋ผ๋ฆฌ ๊ทธ๋ฆผ๊ณผ ํ•จ๊ป˜ ์žˆ๋Š” Gradle์„ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด Tasks์™€ app์ด, ๋˜๋Š” app๋งŒ ๋œฌ๋‹ค.

     

     

    ๐Ÿ˜

     

    ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ์ฝ”๋ผ๋ฆฌ๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

     

     

    ๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜

     

    ์ด๋Ÿฐ ํƒœ์Šคํฌ ๊ฒ€์ƒ‰์ฐฝ์ด ๋œจ๋Š”๋ฐ as๋‚˜ assemble์„ ๊ฒ€์ƒ‰ํ•ด์„œ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ๋œ๋‹ค.

     

     

     

    ๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ assemble๊ณผ assembleRelease๊ฐ€ ๋œจ๋Š”๋ฐ ๋‘˜ ์ค‘ ์•„๋ฌด๊ฑฐ๋‚˜ ๋ˆŒ๋Ÿฌ๋„ ๋œ๋‹ค.

     

    assemble์€ release aarํŒŒ์ผ๊ณผ debug aar ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ค€๋‹ค.

    assembleRelease๋Š” release aarํŒŒ์ผ๋งŒ ์ƒ์„ฑํ•ด์ค€๋‹ค.

     

     

     

     

    ๋งŒ์•ฝ assemble์ด ์•ˆ๋œฌ๋‹ค๋ฉด ์ƒ๋‹จ Android Studio ๋ฉ”๋‰ด์—์„œ Preferences์— ๋“ค์–ด๊ฐ„๋‹ค.

     

     

    ๊ทธ๋ฆฌ๊ณ  ๋งจ ์•„๋ž˜ Experimental์—์„œ "Do not build Gradle task list during Gradle sync" ์ฒดํฌ๋ฅผ ํ•ด์ œํ•ด์ฃผ๊ณ  Apply - OK

     

     

     

    ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ Gradle Task ๊ฒ€์ƒ‰!

     

    ๋ฌด์‚ฌํžˆ ๋งˆ์ณค๋‹ค๋ฉด ์œ„์—์„œ ํ•ด์ œํ–ˆ๋˜ ์ฒดํฌ๋ฅผ ๋‹ค์‹œ ์„ค์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

     

     

     

     

    ์ƒ์„ฑ๋œ aar ํŒŒ์ผ์€ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ํด๋”์˜ app / build / outputs / aar ๊ฒฝ๋กœ์— ์žˆ๋‹ค.

     

     

     

     

     

    ํ•ด๋‹น ๊ฒฝ๋กœ์—์„œ ์ฐพ์€ aarํŒŒ์ผ์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ์˜ libs ํด๋”์— ๋„ฃ์–ด์ค€๋‹ค.

     

    ์ •๋ง ๋งˆ์ง€๋ง‰์œผ๋กœ app ์ˆ˜์ค€์˜ build.gradle ํ•˜๋‹จ์˜ dependencies์— ์ƒ์„ฑํ•œ aar ํŒŒ์ผ ์ด๋ฆ„์„ ๋„ฃ์–ด implementation์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

     

     

    dependencies {
        implementation(name:'์ƒ์„ฑ๋œ aar ํŒŒ์ผ ์ด๋ฆ„', ext:'aar')
    }
     

     

    ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ import ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐœ๋ฐœ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋”์ด์ƒ ์ˆ˜์ •ํ•  ํ•„์š”์—†์ด ๊ฐœ๋ฐœ๋˜์—ˆ์„ ๋•Œ ์ถ”์ฒœํ•œ๋‹ค.

    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ˆ˜์ •๋˜๋ฉด ๋‹ค์‹œ aar ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •๋œ aarํŒŒ์ผ์„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ์˜ libs ํด๋”์— ๋„ฃ๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ๋ฅผ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ์— ๋Œ์–ด์™€ ๊ฐ™์ด ์ˆ˜์ • ๊ฐœ๋ฐœํ•œ๋‹ค.

     

     

    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ์—์„œ ๋™๊ธฐํ™”๋˜์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ํ•จ๊ป˜ ์ˆ˜์ •๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ ๊ธ€์—์„œ ๋‹ค๋ฃฐ ์˜ˆ์ •์ด๋‹ค.

     

     

     

     

     

     


     

     

     

     

    ๋„์›€์ด ๋˜์—ˆ๊ธธ...

     

     

     

     

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.