15

Android 5.0 より前は、DexClassLoader と呼び出しloadClass()メソッドを使用して DEX ファイルを動的にロードできましたが、最新の Android バージョンではClassNotFoundException.

これが私がやっていることです:

  1. DEX ファイルを生成します。

    ../android-sdk/android-sdk-linux_86/build-tools/21.1.1/dx --dex --output=bin/output.dex  bin/output.jar
    
  2. DexClassLoader を作成します。

    DexClassLoader cl = new DexClassLoader(
    dexFile.getAbsolutePath(),
    odexFile.getAbsolutePath(),
    null,
    mContext.getClassLoader());
    
  3. 電話cl.loadClass("myMethod");

ART は dex2oat を使用して ART によってロードされる ELF ファイルを生成することを認識していますが、ステップ 2 で ODEX ファイルを生成しているため、実行時に DEX ファイルをロードするために ART で行う必要があることではありません。自分 ?

4

2 に答える 2