无法使用 JPype 重载 android.content.Context

Posted

技术标签:

【中文标题】无法使用 JPype 重载 android.content.Context【英文标题】:Unable to overload android.content.Context using JPype 【发布时间】:2021-06-16 05:53:25 【问题描述】:

我正在尝试实现 android 上下文,但它说在创建对象时未发现重载。

我的代码:

 mContext = jpype.JClass("android.content.Context")
handle =TestClient(mContext)

错误:

TypeError: No matching overloads found for constructor testClient(_jpype._JClass), options are:
E               public TestClient(android.content.Context)

我也尝试过使用 JObject

 mContext = jpype.JObject("android.content.Context")
handle =TestClient(mContext)

错误:

TypeError: No matching overloads found for constructor testClient(java.lang.String), options are:
E               public TestClient(android.content.Context)

如何将其传递为android.content.Context

【问题讨论】:

【参考方案1】:

这可以通过公开 Android jar 并将其添加到类路径来实现。 发布您使用相同的jpype.jpackage("android.content.Context")

_jpype.JClass 中的这个返回对象。

注意:这是一个 hack,不是很好的解决方案。

【讨论】:

以上是关于无法使用 JPype 重载 android.content.Context的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 Jpype 对接口进行类型转换?

JPype1 0.6.2安装不成功的解决办法

Py4J 的开销比 Jython 和 JPype 大

python调用java程序--jpype

jpype.startjvm 退出而不给出任何错误消息

python调用java代码-jpype