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

时间:2016-01-18 06:19:09

标签: java android

我想从 jar文件DexClassLoader加载一个类:

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!";
   }
}

有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:0)

您的包裹价值应为“com.life.Life”

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