java.lang.NoClassDefFoundError:org / python / util / PythonInterpreter

时间:2014-09-28 23:24:51

标签: java android eclipse jython classnotfoundexception

尝试在我的android项目中使用jython,但每当我启动应用程序时,我都会收到以下错误消息:

09-29 01:04:24.841: E/AndroidRuntime(2212): FATAL EXCEPTION: Thread-11144
09-29 01:04:24.841: E/AndroidRuntime(2212): Process: com.spitmarks.spitman, PID: 2212
09-29 01:04:24.841: E/AndroidRuntime(2212): java.lang.NoClassDefFoundError:     org/python/util/PythonInterpreter
09-29 01:04:24.841: E/AndroidRuntime(2212):     at      com.spitmarks.spitman.TestPythonClass.TestMetoda(TestPythonClass.java:8)
09-29 01:04:24.841: E/AndroidRuntime(2212):     at com.spitmarks.spitman.MainMenuScreen.paint(MainMenuScreen.java:89)
09-29 01:04:24.841: E/AndroidRuntime(2212):     at com.spitman.framework.implementation.AndroidFastRenderView.run(AndroidFastRenderView.java:49)
09-29 01:04:24.841: E/AndroidRuntime(2212):     at java.lang.Thread.run(Thread.java:841)
09-29 01:04:24.841: E/AndroidRuntime(2212): Caused by: java.lang.ClassNotFoundException: Didn't find class "org.python.util.PythonInterpreter" on path: DexPathList[[zip file "/data/app/com.spitmarks.spitman-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.spitmarks.spitman-2, /vendor/lib, /system/lib]]
09-29 01:04:24.841: E/AndroidRuntime(2212):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
09-29 01:04:24.841: E/AndroidRuntime(2212):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
09-29 01:04:24.841: E/AndroidRuntime(2212):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
09-29 01:04:24.841: E/AndroidRuntime(2212):     ... 4 more

我正在使用Win8,Eclipse Kepler,Android SDK 23.

可以在jython安装文件夹中找到指定的Java类。

P.S。当我尝试调试时,我得到的屏幕上有描述,我无法访问BaseDexClassLoader.class的源代码,我甚至无法在我的操作系统上找到它。

非常感谢每一位帮助。

更新

package com.spi.spit;

import org.python.util.PythonInterpreter;
import org.python.core.*;

public class JythonTestClass {
    public static String Test() throws PyException {
        PythonInterpreter interp = new PythonInterpreter();

        return "";
    }
}

这是我打电话并试图在应用程序中使用的方法(并且在手机上运行时会中断)

1 个答案:

答案 0 :(得分:0)

在编译和运行Jython

时,您的类路径上有JAR
  • 右键单击项目
  • 选择属性
  • 选择添加外部jar
  • 清理,构建和运行

这是截图:

enter image description here