求助:怎样才能在python中用jpype调用android project的class

reallee8209 2010-12-23 09:39:41
I can run a class of Java project with Jpype well.
我可以成功用jpype调用标准Java工程的Class,但是我尝试调用android project的class时失败了。
Android Project代码如下,很简单的一个工程,只是打印出hello world字符串:
package real.android.test.hello;

import android.app.Activity;
import android.os.Bundle;
public class hello extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

Python Jpype代码:

# -*- coding: UTF8 -*-
import jpype
jvmPath = jpype.getDefaultJVMPath()
classpath = r"E:\workspace\Hello\bin\real\android\test\hello"#hello.class 所在文件夹路径
jvmArg = "-Djava.class.path=" + classpath
jpype.startJVM(jvmPath, jvmArg)
javaClass = jpype.JClass("real.android.test.hello.hello")

执行python脚本错误Infomation:
Traceback (most recent call last):
File "testJpype.py", line 7, in ?
javaClass = jpype.JClass("real.android.test.hello")
File "E:\Python24\Lib\site-packages\jpype\_jclass.py", line 54, in JClass
raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name)
jpype._jexception.java.lang.ExceptionPyRaisable: java.lang.Exception: Class real
.android.test.hello not found.

请大家帮忙,多谢!
...全文
160 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2010-12-25
  • 打赏
  • 举报
回复
classpath应该是E:\workspace\Hello\bin,也就是最上层包所在的路径。不然你的包里要几十上百个子包全加到classpath里不累死了。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧