public static String getCorrectXX(String str, long time,
Context context) {
File dexFile = context.getDir("dex", 0);
File jarFile = new File(MyApp.getPath());
String jarStr = new File(jarFile, "XX.jar").getAbsolutePath();
String dexStr = new File(dexFile, "XX.dex").getAbsolutePath();
String result = null;
try {
Class cls = DexFile.loadDex(jarStr, dexStr, 0).loadClass(
"xx.xxx.XX", context.getClassLoader());
Class[] arrayOfClass = new Class[5];
arrayOfClass[0] = String.class;
arrayOfClass[1] = Long.TYPE;
Method localMethod = cls.getDeclaredMethod("getMethod",
arrayOfClass);
if(localMethod != null){
Object[] arrayOfObject = new Object[2];
arrayOfObject[0] = str;
arrayOfObject[1] = time;
result = (String)localMethod.invoke(null, arrayOfObject);
}
} catch (Exception e) {
Log.d("dexutil",e.getCause().getMessage()+":异常");
return result;
}
return result;
}
android动态加载jar与dex
最新推荐文章于 2021-05-25 16:24:17 发布