Динамически загружать файл DEX на Android 5.0
До Android 5.0 я мог загружать файлы DEX динамически, используя DexClassLoader и вызываяloadClass()
метод, но с последней версией Android я получаюClassNotFoundException
.
Вот что я делаю:
Создать файл DEX.
../android-sdk/android-sdk-linux_86/build-tools/21.1.1/dx --dex --output=bin/output.dex bin/output.jar
Создайте DexClassLoader.
DexClassLoader cl = new DexClassLoader(
dexFile.getAbsolutePath(),
odexFile.getAbsolutePath(),
null,
mContext.getClassLoader());
Вызовcl.loadClass("myMethod");
Я знаю, что ART использует dex2oat для генерации ELF-файла, загружаемого ART, но на шаге 2 я создаю ODEX-файл, поэтому мне не нужно делать то, что нужно сделать в ART для загрузки DEX-файла во время выполнения, может кто-нибудь помочь мне ?