반응형
안드로이드, 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. |
Dalvik VM 은 런타임에 다른 dex 파일을 로딩할 수 있다.
dex 파일 로딩은 일반적으로 사용되는 방법은 아니다. 하지만, 다음과 같은 경우에 필요하다.
1. 64,000개 이상의 메서드를 포함한 앱의 경우 빌드에 문제가 발생할 수 있다. 이 경우 여러 개의 dex 파일로 나누어서 dex 를 동적으로 로딩해야 한다.
2. 런타임 중 동적으로 기능이 확장되는 프레임워크 형태의 앱은 커스텀 클래스 로딩 기능을 활용할 수 있다.
여러개의 dex 로 나누어 빌드 하는 경우는 이클립스 ADT 상에서 빌드될 수 없고, Ant 빌드 스크립트를 활용하여 빌드해야 한다.
<런타임에 다른 dex 파일 로딩하는 예제 코드>
DexClassLoader dcl = new DexClassLoader( path, null, getClassLoader() );
Class clz = null;
try{
clz = dcl.loadClass( fullClassName );
SomethingInterface lib = (SomethingInterface) clz.newInstance();
lib.doSomething();
}
catch( Exception e ){
...
}
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] software button height (0) | 2013.12.17 |
---|---|
[Java] Reflection Tutorial - Accessing Private Field, Private Method (0) | 2013.12.17 |
[android] OutOfMemoryError : bitmap size exceeds VM budget 을 해결해보자!!! (2) | 2013.12.13 |
[android] ListView HeaderView ListItem 으로서 click 안 되도록 하기. (0) | 2013.12.11 |
[android] volley library 에 대해 알아보자! (0) | 2013.12.10 |
댓글