我想在一个android 应用中动态加载SD 卡的jar文件获取某个类当调用loader.loadClass(className)时报Class can't load this type of class file 是jar 文件格式不正确还是其他什么原因。
其他代码我是这样写的
public void onClick(View v) {
Class jarClass = loadJar("sdcard/test.jar", "com.isoftston.imageui.ImageViewActivity");
//打印完整类名
System.out.println(jarClass.getSimpleName());
});
}
/**
* 动态加载JAR包中的类
*
* @param jarPath
* JAR包绝对路径
* @param className
* 类全名
* @return 类对象
*/
public static Class loadJar(String jarPath, String className) { Class tidyClazz = null;
try {
File file = new File(jarPath);
URL url = file.toURL();
URLClassLoader loader = URLClassLoader.newInstance(new URL[] { url });
tidyClazz = loader.loadClass(className);//报错,不能装载
}catch (Exception es) {
es.printStackTrace();
}
return tidyClazz;
}
其他代码我是这样写的
public void onClick(View v) {
Class jarClass = loadJar("sdcard/test.jar", "com.isoftston.imageui.ImageViewActivity");
//打印完整类名
System.out.println(jarClass.getSimpleName());
});
}
/**
* 动态加载JAR包中的类
*
* @param jarPath
* JAR包绝对路径
* @param className
* 类全名
* @return 类对象
*/
public static Class loadJar(String jarPath, String className) { Class tidyClazz = null;
try {
File file = new File(jarPath);
URL url = file.toURL();
URLClassLoader loader = URLClassLoader.newInstance(new URL[] { url });
tidyClazz = loader.loadClass(className);//报错,不能装载
}catch (Exception es) {
es.printStackTrace();
}
return tidyClazz;
}
解决方案 »
- 百度地图API MKSearch在第一次执行时,MKSearchListener无返回值
- in loader dalvik.system.PathClassLoader[/data/app/com.sl.pad-1.apk]
- 请问Android如何使用AlarmManager设置多个定时器
- android网络编程问题
- System.loadLibrary限制
- Android 指定一个文件搜索文件里面的所有文件大小
- 滑动界面问题
- R.java文件里面不能自动生成地址了
- Android Studio 新建文件时出现的问题
- 关于文字转换语音播报如何实现
- 如何用RotateAnimation实现绕Y轴旋转
- 请帮忙
这样你怎么可能在android里面加载成功啊,class文件要转换成dex文件格式才能被android执行,你这样android根本没办法加载运行你的jar文件内容的