在Java中从Android应用程序执行Python脚本?

2022-09-04 23:18:37

我正在尝试找到一种方法来从Android中的Java代码执行Python脚本。我对这个问题做了一个研究,但我唯一发现的是,我如何在APK for android(Kivy e.t.c.)中转换python脚本。

更具体地说,我有一个包含许多函数的脚本。我想做的是在我的java代码中基于这个python脚本创建一个对象,并通过这个对象来调用我的函数。

我无法将我的Python代码转换为Java,因为我使用仅存在于python中的各种库。

任何建议都会有所帮助,并深表感谢。


以下是我的Python脚本的一个片段。我将库超级按钮用于加密。

from charm.core.math.integer import integer,serialize,deserialize
class serializeClass:
    def __init__(self)
        ...

    def serialize(self, charm_object):
        assert type(charm_object) == integer, "required type is integer, not: ", type(charm_object)
        return serialize(charm_object)

    def deserialize(self, object):
        assert type(object) == bytes, "required type is bytes, not: ", type(object)
    return deserialize(object)

答案 1

一种选择是创建一个Web Service API,以允许通过HTTP提供python结果。然后,这只是Android与HTTP Web服务通信的问题,这很简单。

你可能会发现一些python到java的桥梁,但根据我的经验,这些东西在实践中总是有局限性,理论上看起来很棒,但最终无法正常工作。


答案 2

您可以使用SL4A项目,这将允许您在Android上运行Python代码。