1οΈβ£Β μ± μΆμ,Β λλ
ν λ° μ΅μ ν
- gradle 3.4.0 μ΄μμΌλ‘ νλ‘μ νΈλ₯Ό λΉλνλ κ²½μ°, νλ¬κ·ΈμΈμ νλ‘κ°λλ₯Ό μ¬μ©νμ¬ μ»΄νμΌ μκ° μ½λ μ΅μ νλ₯Ό νμ§ μκ³ , R8 μ»΄νμΌλ¬λ₯Ό μ¬μ©νμ¬ μ»΄νμΌ μκ° μ½λ μ΅μ ν μμ
μ νλ€κ³ ν©λλ€.
- λΉλ μκ° μ¦κ° λ° κ°λ°μμ μ€μ λ―Έμ€λ‘ μΈν λ²κ·Έ λ°μ κ°λ₯μ±μ΄ μμ΄, Android μ€νλμ€λ₯Ό μ΄μ©νμ¬ μ νλ‘μ νΈλ₯Ό λ§λ€ λ μΆμ, λλ
ν λ° μ½λ μ΅μ ν κΈ°λ₯μ΄ κΈ°λ³ΈμΌλ‘ μ¬μ© μ€μ λλ κ²μ μλλλ€.
- λ°λΌμ, μ±μ μ΅μ’
λ²μ μ λΉλν λ μ΄λ¬ν μ»΄νμΌ μκ° μμ
μ μ¬μ© μ€μ νλ κ²μ΄ κ°μ₯ μ’μ΅λλ€.
R8μ΄λ ?
- R8μ νλ‘μ νΈμ μλ° λ°μ΄νΈ μ½λλ₯Ό Android νλ«νΌμμ μ€νλλ DEX νμμΌλ‘ λ³ννλ κΈ°λ³Έ μ»΄νμΌλ¬μ
λλ€.
- R8μ νλ‘κ°λ κ·μΉ νμΌμ μ¬μ©ν©λλ€.
R8μ΄ νλ μΌ
- μ½λ μΆμ (Tree shaking)
- μ¬μ©νμ§ μλ μ½λλ₯Ό μμ ν©λλ€.
- λ°νμμ νμνμ§ μλ€κ³ R8μ΄ νλ¨ν μ½λλ₯Ό μμ νλ νλ‘μΈμ€
- μ± λ° λΌμ΄λΈλ¬λ¦¬ μ’
μ νλͺ©μμ λ―Έμ¬μ© ν΄λμ€, νλ, λ©μλ, μμ±
- 리μμ€ μΆμ
- μ¬μ©νμ§ μλ 리μμ€λ₯Ό μμ ν©λλ€.
- μ± λΌμ΄λΈλ¬λ¦¬ μ’
μ νλͺ©μ λ―Έμ¬μ© 리μμ€λ₯Ό ν¬ν¨νμ¬ ν¨ν€μ§λ μ±μμ μ¬μ©νμ§ μλ 리μμ€
- 리μμ€ μΆμλ μ½λ μΆμμ ν¨κ» μ¬μ©ν λλ§ μλν©λλ€
- λλ
ν
- ν΄λμ€μ λ©€λ² μ΄λ¦μ μ€μ
λλ€.
- λλ
νμ λͺ©μ μ μ± ν΄λμ€, λ©μλ λ° νλμ μ΄λ¦μ λ¨μΆνμ¬ μ± ν¬κΈ°λ₯Ό μ€μ΄λ κ²μ
λλ€.
- κ²°λ‘ μ μΌλ‘ λλ
νλ DEX νμΌ ν¬κΈ°λ₯Ό μ€μ
λλ€.
- μ΅μ ν
- μ½λ κ²μ¬ λ° λ€μ μμ±ν©λλ€.
- DEX νμΌ ν¬κΈ°λ₯Ό λ μ€μ
λλ€.
keep κ·μΉ βΌοΈ
- κ°λ°μκ° μ μ§ν μ½λλ₯Ό μ μ νκ² λ§μΆ€μ€μ νλ κ²μ μλ―Έν©λλ€.
- μ¦, keep κ·μΉμ μ±μ μΆμν λ R8μ΄ μμ νλ©΄ μ λλ ν΄λμ€λ₯Ό μ§μ νκ³ R8μ μ΄ ν΄λμ€λ₯Ό μ±μ μ§μ
μ μΌλ‘ μ¬μ©ν μ μλ€κ³ κ°μ£Όν©λλ€.
keep κ·μΉκ³Ό κ΄λ ¨λ R8μ λμλ°©μ
- μ± μ½λλ₯Ό μΆμνκΈ° μν΄ R8μ λ¨Όμ κ²°ν©λΒ κ΅¬μ± νμΌ μ‘°ν©μ κΈ°λ°μΌλ‘ μ± μ½λμ λͺ¨λ μ§μ
μ μ κ²°μ ν©λλ€.
- μ΄ μ§μ
μ μλ Android νλ«νΌμ΄ μ±μ νλ λλ μλΉμ€λ₯Ό μ¬λ λ° μ¬μ©ν μ μλ λͺ¨λ ν΄λμ€κ° ν¬ν¨λ©λλ€.
- R8μ κ° μ§μ
μ μμ μμνμ¬ μ±μ μ½λλ₯Ό κ²μ¬ν΄ μ±μ΄ λ°νμμ μ‘μΈμ€ν μ μλ λͺ¨λ λ©μλ, λ©€λ² λ³μ λ° κΈ°ν ν΄λμ€μ κ·Έλνλ₯Ό μμ±ν©λλ€.
- κ·Έλνμ μ°κ²°λμ§ μμ μ½λλΒ μ°κ²°ν μ μλΒ κ²μΌλ‘ κ°μ£Όλλ©° μ±μμ μμ λ μ μμ΅λλ€.
- ProGuard κ·μΉ νμΌμΒ keepΒ μ€μ μΆκ°
- μ μ§νλ €λ μ½λμΒ @KeepΒ μ£Όμμ μΆκ°
- μ 체 ν΄λμ€κ° κ·Έλλ‘ μ μ§λ¨ (λ©μλ,νλ,ν΄λμ€ μ΄λ¦μ΄ κ·Έλλ‘ μ μ§λ¨)
- μ΄λ¬ν keep κ·μΉμ R8μ΄ μ½λλ₯Ό μ±μ μ΅μ’
DEXμ μ μ§ν λΏλ§ μλλΌ μλ μ΄λ¦ μ§μ μ μ μ§νλλ‘ ν©λλ€.
2οΈβ£Β κ·Έλμ λλ
νκ° λ¬΄μμ΄κ³ μ ν΄μΌνλμ ?
λ¨Όμ μ±μ μ©λκ³Ό κ΄λ ¨μ΄ μμ΅λλ€. μ¬μ©μκ° λ§€λ ₯μ μΈ μ±μ΄λΌκ³ λ°μλ리λ μμ μ€ νλλ μ±μ ν¬κΈ°μ
λλ€. 곡μλ¬Έμμμ μ±μ ν¬κΈ°λ₯Ό μ΅λν μκ² λ§λ€κΈ°μν λ°©λ²μΌλ‘ μ½λ λ° λ¦¬μμ€ μΆμ/ λλ
ν/ μ΅μ νμ λ°©λ²μ μκ°νκ³ μμ΅λλ€.
κ° λ°©λ²μ μλμ κ°μ΄ μ 리ν μ μμ΅λλ€.
- μ± μΆμ (μ½λ μΆμ, 리μμ€ μΆμ) : μ¬μ©λμ§ μλ μ½λμ 리μμ€λ₯Ό μμ νμ¬, DEX νμΌ ν¬κΈ°λ₯Ό μ€μ
λλ€.
- λλ
ν : μ± ν΄λμ€, λ©μλ λ° νλμ μ΄λ¦μ λ¨μΆνμ¬ , DEX νμΌ ν¬κΈ°λ₯Ό μ€μ
λλ€.
- μ΅μ ν : μ½λλ₯Ό κ²μ¬νμ¬ λΆνμν ꡬ문μ κ°μ νμ¬, DEX νμΌ ν¬κΈ°λ₯Ό μ€μ
λλ€.
μ΄ μ€ μ κ° μλ κΆκΈνλ, κ·Έλμ λλ
νλ₯Ό μ ν΄μΌνλμ? μ μ§λ¬ΈμΌλ‘ λμμ€μλ©΄, μ± μ©λ λΏλ§μλλΌ λ³΄μμ κ΄μ μμ λλ
νλ νμμ μ΄κΈ°λν©λλ€.
λλ
νμ μλ λͺ©μ μ μ± ν΄λμ€, λ©μλ λ° νλμ μ΄λ¦μ λ¨μΆνμ¬ μ± ν¬κΈ°λ₯Ό μ€μ΄λ κ²μ
λλ€. DEX νμΌμ λ€μμ ν΄λμ€, λ©€λ²μ λν μμΈμ μμ±ν©λλ€. μ½λ μ체λ₯Ό μμ νμ§λ μμ§λ§, ν΄λμ€μ λ©€λ²μ κΈ΄ μ΄λ¦μ λ¨μΆνλ―λ‘μ, μ± ν¬κΈ°λ₯Ό λ¨μΆμν¬ μ μκ² λλ€λ λ§μ
λλ€.
μ¬κΈ°μ λλ
ν λ°©μμ ν΅μ¬μΈ μμλ‘ μ΄λ¦μ λ¨μΆ,μΉνμν€λ λ°©λ²μ λν΄ μ£Όλͺ©ν΄λ³΄λ©΄, 보μμ κ΄μ μμ λλ
νμ νμμ±μ μ΄ν΄ν μ μκ²λ©λλ€.
μ λλ
νλ₯Ό ν΄μΌνλμ ?
- μ± μ©λμ μ€μ΄κΈ° μν΄
- μ§μ μ¬μ°κΆμ 보νΈνκΈ° μν΄ (λμ»΄νμΌλ‘ μΈν μ½λ 볡ꡬμ νΌν΄λ₯Ό μλ°©)
- μμΉμλ μλ³μ‘°λ₯Ό λ°©μ§νκΈ° μν΄
- μ 보 μ μΆμ λ°©μ§νκΈ° μν΄ (base url λ±)
3οΈβ£Β λλ
ννλ λ°©λ²
#οΈβ£Β Reference