【问题标题】:java.lang.NoClassDefFoundError: org/python/util/PythonInterpreterjava.lang.NoClassDefFoundError: org/python/util/PythonInterpreter
【发布时间】:2014-09-28 23:24:50
【问题描述】:

尝试在我的 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。

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

附:当我尝试调试时,屏幕显示我无法访问 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 "";
    }
}

这是我正在调用并尝试在应用程序中使用的方法(在手机上运行时它会中断)

【问题讨论】:

  • 你的清单文件中有PythonInterpreter
  • 不,我没有。
  • 怎么样,我是新手,任何例子都会很好。
  • 您还需要帮助吗?你添加图书馆了吗?
  • 是的,我需要帮助,但仍然没有成功。不知道发生了什么。我将其添加为外部 JAR。对吗?

标签: java android eclipse jython classnotfoundexception


【解决方案1】:

编译和运行 Jython 时,您的类路径中有 JAR

  • 右键项目
  • 选择属性
  • 选择添加外部jar
  • 清理、构建和运行

这里是截图:

【讨论】:

  • 感谢您的努力,我一回到家就试试这个。
  • 很遗憾没有成功。
  • @babazookz 我怎样才能重现这个
  • 创建 android 项目,添加 jython 库并使用其中的一些类。这就是我一直在努力做的事情。
  • 好的,你能添加一些我可以测试的代码吗,只是一点点
猜你喜欢
  • 2013-10-18
  • 2015-04-22
  • 1970-01-01
  • 2017-01-07
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
相关资源
最近更新 更多