Android 加载外部Dex并调用其方法

Class文件转Dex文件

  • 在AS build -> javac 文件中拷贝class 文件。

  • 在sdk 根目录下,有一个build-tools目录随便点击进入一个版本,其中有一个dx.bat文件,就是转dex 文件的脚本,命令格式:dx --dex --output=out.dex 当前class所在目录。

加载Dex文件

  • 将Dex 文件拷贝到手机SD卡文件下。

  • 创建DexClassLoader 对象并调用class中的方法。

    DexClassLoader dexClassLoader = new DexClassLoader(dex目录,解压目录,null,getClassLoader());
    Class<?> aClass = dexClassLoader.loadClass("name");
    Object o = aClass.newInstance();
    Method dexPrint = aClass.getMethod("DexPrint");
    dexPrint.invoke(o); //调用DexPrint 方法
    

你可能感兴趣的:(Android)