๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

[Android] DEX

์ถœ์ฒ˜

ChatGPT


Dex(Dalvik Executable)์€ Androidd ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์‹คํ–‰ ํŒŒ์ผ ํฌ๋งท์ด๋‹ค. Android์—์„œ๋Š” Java ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•œ ํ›„Dalvik ๊ฐ€์ƒ ๋จธ์ง„(DVM) ๋˜๋Š” ๊ทธ ํ›„์†์ธ Android Runtime(ART)์—์„œ ์‹คํ–‰๋˜๋„๋ก DEX ํฌ๋งท์„ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ด ํฌ๋งท์€ Android ์‹œ์Šคํ…œ์˜ ๊ณ ์œ ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ฆฌ์†Œ์Šค ํšจ์œจ์ ์ธ ์‹คํ–‰์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. DEX๋Š” Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž‘๋™์„ ์ดํ•ดํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ค‘์š”ํ•œ ์š”์†Œ์ด๋‹ค.

 

DEX์˜ ์ฃผ์š” ๊ฐœ๋…๊ณผ ํŠน์ง•

1. Dalvik ๊ฐ€์ƒ ๋จธ์‹ (DVM)

  • Android๋Š” Java ๊ฐ€์ƒ ๋จธ์‹ (JVM)์ด ์•„๋‹Œ Dalvik ๊ฐ€์ƒ ๋จธ์‹ (DVM)์„ ์‚ฌ์šฉํ•œ๋‹ค. Dalvik์€ Android์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ๊ฒฝ๋Ÿ‰์˜ ๊ฐ€์ƒ ๋จธ์‹ ์ด๋‹ค.
  • DVM์€ .dex ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉฐ, ๊ฐ ์•ฑ์€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ•ด์• ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ์™€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณต์œ ํ•œ๋‹ค.

 

2. DEX ํฌ๋งท

๋‹จ์ผ DEX ํŒŒ์ผ

์ผ๋ฐ˜์ ์ธ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ปดํŒŒ์ผ ์‹œ ๋ชจ๋“  ํด๋ž˜์Šค ํŒŒ์ผ์„ ๋‹จ์ผ .dex ํŒŒ์ผ๋กœ ๋ณ‘ํ•ฉํ•œ๋‹ค. ์ด๋Š” ์—ฌ๋Ÿฌ Java .class ํŒŒ์ผ์ด ๋‹จ์ผ DEX ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

๋ฉ€ํ‹ฐ-DEX ์ง€์›

ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ, DEX ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ Android์˜ ์ œํ•œ์„ ์ดˆ๊ณผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Android๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ DEX ํŒŒ์ผ์„ ์ง€์›ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํฐ ๊ทœ๋ชจ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. ํšจ์œจ์„ฑ

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ

DEX ํฌ๋งท์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๊ณผ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ์ ํ™”ํ•œ๋‹ค.

 

๋น ๋ฅธ ์‹คํ–‰

Dalvik ๋ฐ ART๋Š” ์‹คํ–‰ ์‹œ๊ฐ„์— ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ , ๋น ๋ฅธ ์‹คํ–‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

 

4. DEX ํŒŒ์ผ ์ƒ์„ฑ ๊ณผ์ •

Java ์†Œ์Šค ์ฝ”๋“œ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ Java ์†Œ์Šค ์ฝ”๋“œ ํŒŒ์ผ(.java)

 

๋ฐ”์ดํŠธ์ฝ”๋“œ

Java ์ปดํŒŒ์ผ๋Ÿฌ(javac)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ .java ํŒŒ์ผ์„ ๋ฐ”์ดํŠธ์ฝ”๋“œ(.class ํŒŒ์ผ)๋กœ ๋ณ€ํ™˜.

 

DEX ๋ณ€ํ™˜

Android SDK์˜ 'dx' ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ .class ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ DEX ํŒŒ์ผ(.dex) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜

 

APK ํŒจํ‚ค์ง•

.dex ํŒŒ์ผ์€ Android ํŒจํ‚ค์ง€(.apk)๋กœ ๋ฒˆ๋“ค๋ง๋˜๋ฉฐ, ๋ฆฌ์†Œ์Šค ํŒŒ์ผ๊ณผ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋“ฑ๊ณผ ํ•จ๊ป˜ Android ๋””๋ฐ”์ด์Šค์— ์„ค์น˜๋  ์ˆ˜ ์žˆ๋‹ค.

 

5. ART(Android Runtime)

  • ART๋Š” Android 5.0(Lollipop)๋ถ€ํ„ฐ ๋„์ž…๋œ ์ƒˆ๋กœ์šด ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์œผ๋กœ, Dalvik์˜ ํ›„์†์ด๋‹ค.
  • Ahead-Of-Time(AOT) ์ปดํŒŒ์ผ : ART๋Š” ์•ฑ ์„ค์น˜ ์‹œ ์ฝ”๋“œ๋ฅผ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผํ•ด, ์•ฑ ์‹คํ–‰ ์‹œ์ ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. Dalvik์ด ์‹คํ–‰ ์‹œ๊ฐ„์— JIT(Just-In-Time) ์ปดํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋Œ€์กฐ์ ์ด๋‹ค.
  • ART๋Š” ์—ฌ์ „ํžˆ DEX ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, DEX ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™”๋œ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

6. ๋ฉ€ํ‹ฐ-DEX ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ๋ฉ€ํ‹ฐ-DEX ์„ค์ •

  • Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก DEX ํŒŒ์ผ์ด ์ปค์ง€๊ฒŒ ๋˜๊ณ , ๋‹จ์ผ DEX ํŒŒ์ผ์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐ-DEX๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋ฉ€ํ‹ฐ-DEX ์„ค์ • ๋ฐฉ๋ฒ• : Android ํ”„๋กœ์ ํŠธ์—์„œ 'build.gradle' ํŒŒ์ผ์— 'multiDexEnabled true'๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฉ€ํ‹ฐ-DEX๋ฅผ ํ™œ์„ฑํ™”ํ•œ๋‹ค.
android {
    defaultConfig {
        ...
        multiDexEnabled true
    }
}

 

DEX ํŒŒ์ผ์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 

1. ์ตœ์ ํ™”๋œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ

DEX ํŒŒ์ผ์€ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

 

2. ๋น ๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

ART ๋ฐ Dalvik VM์˜ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด DEX ํŒŒ์ผ์€ ๋น ๋ฅธ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋ชจ๋ฐ”์ผ ํ™”๊ฒฝ์—์„œ ์ค‘์š”ํ•œ ์„ฑ๋Šฅ์š”์†Œ์ด๋‹ค.

 

3.๋ฉ€ํ‹ฐ-DEX ์ง€์›

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋”๋ผ๋„ ๋ฉ€ํ‹ฐ-DEX๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•œ๋‹ค.

 

4. ํ”Œ๋žซํผ ํ˜ธํ™˜์„ฑ

DEX ํฌ๋งท์€ Android ํ”Œ๋žซํผ์—์„œ ํ‘œ์ค€ํ™”๋œ ์‹คํ–‰ ํฌ๋งท์œผ๋กœ, ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์—์„œ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.

 

๋‹จ์ 

1. ๋ณต์žกํ•œ ๋””๋ฒ„๊น…

DEX ํŒŒ์ผ์€ ์ž๋ฐ” ์†Œ์Šค ์ฝ”๋“œ์™€ ๋‹ค๋ฅด๊ฒŒ ๋ณ€ํ™˜๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ ํฌ๋งท์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋””๋ฒ„๊น… ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๋ณต์žกํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ์ฆ๊ฐ€

DEX ๋ณ€ํ™˜ ๋ฐ ๋ฉ€ํ‹ฐ-DEX ๊ด€๋ฆฌ๋กœ ์ธํ•ด ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋นŒ๋“œ ์‹œ๊ฐ„์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

3. ๋””์Šคํฌ ๊ณต๊ฐ„ ์‚ฌ์šฉ

๋ฉ€ํ‹ฐ-DEX๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ DEX ํŒŒ์ผ๋กœ ์ธํ•ด ๋””์Šคํฌ ๊ณต๊ฐ„ ์‚ฌ์šฉ์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

DEX ํŒŒ์ผ ๊ด€๋ จ ์ฃผ์š” ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

1.ProGuard

์ฝ”๋“œ ๋‚œ๋…ํ™” ๋„๊ตฌ๋กœ, DEX ํŒŒ์ผ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ProGuard๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋‚ฎ์ถฐ ๋ณด์•ˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ฉฐ, DEX ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.

 

2. R8

ProGuard์˜ ํ›„์† ๋„๊ตฌ๋กœ, ๋” ๋‚˜์€ ์ตœ์ ํ™”์™€ ๋‚œ๋…ํ™” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. Google์—์„œ ๊ฐœ๋ฐœํ•œ R8์€ DEX ํŒŒ์ผ์˜ ํฌ๊ธฐ ์ตœ์ ํ™”์™€ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋ฉฐ, ๋” ๋น ๋ฅธ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค.

 

3. DexGuard

ProGuard์˜ ์ƒ์šฉ ๋ฒ„์ „์œผ๋กœ, ์ถ”๊ฐ€์ ์ธ ๋ณด์•ˆ ๊ธฐ๋Šฅ๊ณผ ์ตœ์ ํ™”๋ฅผ ์ œ๊ณตํ•œ๋‹ค. DexGuard๋Š” ๊ณ ๊ธ‰ ๋‚œ๋…ํ™”์™€ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด  DEX ํŒŒ์ผ์„ ๋ณดํ˜ธํ•˜๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ ์ˆ˜์ค€์„ ๋†’์ธ๋‹ค.

 

4. Multidex Library

Android์˜ ๋ฉ€ํ‹ฐ DEX ์ง€์›์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—ฌ๋Ÿฌ DEX ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ์˜ ๋ฉ€ํ‹ฐ-DEX ๋ฌธ์ œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

dependencies {
    implementation 'androidx.multidex:multidex:2.0.1'
}

 

DEX ์ตœ์ ํ™” ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ

1. DEX ์ตœ์ ํ™”

์ฝ”๋“œ ๋‚œ๋…ํ™” ๋ฐ ์ตœ์ ํ™”

ProGuard ๋˜๋Š” R8์„ ์‚ฌ์šฉํ•ด ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ์ตœ์ ํ™”

 

๋ฉ€ํ‹ฐ-DEX ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

๋ฉ€ํ‹ฐ-DEX๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ดˆ๊ธฐ DEX ํŒŒ์ผ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์•ฑ ์ดˆ๊ธฐํ™” ์‹œ๊ฐ„์„ ์ตœ์ ํ™”ํ•ด์•ผ ํ•œ๋‹ค.

 

2. DEX ๋ฌธ์ œ ํ•ด๊ฒฐ

64K ๋ฉ”์„œ๋“œ ์ œํ•œ

๋‹จ์ผ DEX ํŒŒ์ผ์—๋Š” 65,536๊ฐœ ์ด์ƒ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ œํ•œ์ด ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐ-DEX๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ถˆํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•ด ๋ฉ”์„œ๋“œ ์ˆ˜๋ฅผ ์ค„์ด๋Š” ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

 

๋นŒ๋“œ ์„ฑ๋Šฅ ํ–ฅ์ƒ

๋นŒ๋“œ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด R8์„ ์‚ฌ์šฉํ•ด ์ตœ์ ํ™”ํ•˜๊ณ , ๋ฉ€ํ‹ฐ-DEX ๋กœ๋”๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ตฌ์„ฑํ•ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.

 

๊ฒฐ๋ก 

DEX ํŒŒ์ผ์€ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๋ฉฐ, Android์˜ ํŠนํ™”๋œ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž์ถฐ ์ตœ์ ํ™”๋œ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. DEX ํฌ๋งท์€ Android ์•ฑ์˜ ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์š”์†Œ์ด๋ฉฐ, ProGuard ๋ฐ R8 ๋“ฑ์˜ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ตœ์ ํ™” ๋ฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ€ํ‹ฐ-DEX ์ง€์›์„ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™•์žฅ์„ฑ์„ ๋ณด์žฅํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ Android ๋””๋ฐ”์ด์Šค์—์„œ์˜ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. DEX ํŒŒ์ผ์˜ ์ดํ•ด์™€ ์ตœ์ ํ™”๋Š” Android ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•œ๋‹ค.