在android上从jar加载类

在android上从jar加载类,android,jar,Android,Jar,我真的很努力,但总是得到一个班没有发现异常,从阅读这个答案 我拿着我的罐子跑了 dx--dex--output=C:\classes.dex C:\MyAndroidLib.jar 还有一个dex文件 然后我运行 apt添加C:\MyLib.jar C:\classes.dex 使用dex文件创建一个jar 然后我编写了以下代码 DexClassLoader classLoader = new DexClassLoader( destPath, dirPath +"/"

我真的很努力,但总是得到一个班没有发现异常,从阅读这个答案

我拿着我的罐子跑了

dx--dex--output=C:\classes.dex C:\MyAndroidLib.jar

还有一个dex文件

然后我运行

apt添加C:\MyLib.jar C:\classes.dex

使用dex文件创建一个jar

然后我编写了以下代码

DexClassLoader classLoader = new DexClassLoader(
            destPath, dirPath +"/" , null, getClass().getClassLoader());
    Class<?> classToLoad = classLoader.loadClass("ClassImpl");
DexClassLoader=新的DexClassLoader(
destPath,dirPath+“/”,null,getClass().getClassLoader());
Class classToLoad=classLoader.loadClass(“ClassImpl”);
在调试时,我可以看到dex在类加载器中(在mDexs成员下) ClassImpl是我在里面的唯一一门课

但我一直得到类未发现异常

有人从外部jar获得动态类加载的工作示例吗?
有人知道我有什么问题吗?

我没有使用aapt。。。只有德克斯。我加载了我的类,调用了我的方法

使用此代码查看dex文件内部:

DexFile dexfile = DexFile.loadDex(url_jar_path, 
        File.createTempFile("opt", "dex", context.getCacheDir()).getPath(), 0);

// Print all classes in the DexFile

Enumeration<String> classNames = dexfile.entries();

String classname = "";

while (true) {
    if (! classNames.hasMoreElements()) {
        break;
    }
    classname = classNames.nextElement();
}

你有
ClassNotFound异常吗?
我不确定。如果您将任何
.jar
文件导入到项目中,请尝试一下。很抱歉,它突然起作用了……它是如何工作的?你有没有清理过你的项目,或者尝试过那个答案或者什么?@ChenKinnrot它是如何开始工作的。。。我也有同样的问题,请帮忙
Class class = dexclassloader.loadClass(ruta_clase_en_jar);

String name;

Method[] method_array = clase.getMethods();

for (Method i: method_array) {
    name = i.getName ();
}