java.lang.ClassNotFoundException:没有找到类“com.life.Life”

我想通过DexClassLoaderjar文件加载一个类:

 public class AndroidClassLoader implements ClassLoader { private Class class1; @Override public Class execute(File file, String packge) { class1 = null; try{ DexClassLoader loader = new DexClassLoader(file.toURI().toURL().toString(), FXActivity.getInstance().getDir("outdex", 0).getAbsolutePath(), null, FXActivity.getInstance().getClassLoader()); class1 = loader.loadClass(packge); }catch(Exception e){ e.printStackTrace(); } return class1; } } 

运行上面的代码后,将抛出一个错误:

  java.lang.ClassNotFoundException: Didn't find a class "com.life.Life" of Path: DexPathList [[zip file "/storage/emulated/0/Life.jar"], nativeLibraryDirectories=[/vendor/lib, /system/lib]] 

jar文件的名称是Life.jar ,这是它的内容:

 package com.life; public class Life { public String getMessage() { return "Life is Beautiful!"; } } 

有关如何解决此问题的任何想法?

你的包价值应该是“com.life.Life”

ie。,class1 = loader.loadClass(“com.life.Life”); 你可以尝试这个,让我知道它为你工作