외부 dex-file에서 활동을로드 할 수 있습니까? 일부 플러그인 스타일 아키텍처에 대해 생각해 보겠습니다. 여기에서는 추가 기능이 포함 된 활동 및 클래스가있는 dex-file을 다운로드하여 응용 프로그램을 확장 할 수 있습니다.Android : 외부 dex에서 활동로드
DexClassLoader 및 리플렉션을 사용하여 다운로드 한 dex-file에서 클래스의 메소드를로드하고 호출 할 수있었습니다. 하지만 어떻게 든이 기술을 사용하여 활동을 다운로드하고 발표 할 수 있습니까? 인 텐트를 사용하여이 새 Activity를 프로그래밍 방식으로 등록 할 수 있습니까?
다른 액티비티를 APK로 일반 프로 시저를 통해 설치 한 다음 인 텐트를 사용하여 내 주요 활동에서로드하거나 단순히 설치된 애플리케이션을 업데이트하는 것이 가능하지만 (권장되는 방법) 몇 가지 추가 클래스를 다운로드하고 동일한 VM, 동일한 샌드 박스의 모든 것을 실행하여 이미 설치된 응용 프로그램을 확장 할 수 있습니다.
는흠, 당신이 무슨 뜻인지 이해이 지저분 조금있어 발생하지 않는 경우 알려 .. :)
그래, 그건 내가 생각한거야. 덕분에 제안을 드리겠습니다. – Joel
Ruboto는 리플렉션을 통해 dex 경로를 프레임 워크의 'DexPathList'에로드합니다. https://github.com/ruboto/ruboto/blob/e961c186add5c89d82f922966d24a2f685d42560/assets/src/org/ruboto/ FrameworkHack.java 아주 좋은 해결책은 아니지만 Dalvik Path Class Loader가 똑같은 일을한다고 생각해도 괜찮습니다. – redDragonzz