4
런타임시 Android 플랫폼에서 동적으로 클래스를로드하려고합니다. 이 클래스는 별개의 라이브러리 JAR 파일에 포함되어 있지만 SDK의 새 라이브러리 메커니즘에 따라 APK로 패키지되어 있습니다. Class.forname 메서드를 사용할 때 클래스를 찾을 수 없습니다. 예외가 발생했습니다. DexClassLoader 메소드에 대한 논의를 보았지만 사용 방법에 대한 좋은 예는 찾을 수 없습니다 (그리고 이것이 가장 좋은 방법인지는 모르겠지만 forname 접근법보다 훨씬 복잡합니다!).Android : JAR 파일에서 클래스를 동적으로로드하는 방법?
누군가가이 문제를 해결하는 방법에 대한 코드 스 니펫을 제공 할 수 있다면 매우 감사하게 생각합니다.
많은 도움에 감사드립니다.
감사합니다. Dan. 그러나이 메서드를 사용하여 여전히 ClassNotFoundException이 발생합니다. 클래스가 JAR 파일이 아니라 기본 응용 프로그램 내에 있으면 클래스가 정상적으로로드되므로 코드가 직접 참조되지 않아 ClassLoader가로드하지 않으면 JAR 파일을 먼저 확장해야합니다. – Jon
JAR이 이미 APK에 포함되어 있다면 해당 클래스가 사용 가능할 것으로 기대됩니다. 그러나이 질문을 통해 추가 힌트를 얻을 수 있습니까? http://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime –
이클립스를 사용한다고 가정 할 때, 필자는 Properties -> Java Build Path -> Projects - > 필요한 프로젝트에 추가하십시오. 나는 그것이 어떻게 Properties -> Android -> Library 기능 (당신이 사용하고있는 것으로 추측하는지)과 관련이 있는지 모른다 ... –