从Java中的Android App执行python脚本

时间:2015-12-12 03:00:31

标签: java android python scripting

您好我正在尝试从android中的java代码中找到一种执行python脚本的方法。我对此事进行了研究,但我发现的唯一一件事就是如何在APK for android中转换python脚本(Kivy)等)。
更具体地说,我有一个包含很多函数的脚本。我想要做的是在我的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)

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

你可能会发现一些python到java桥接,但根据我的经验,这些东西在实践中总是有局限性,理论上似乎很好,但最终不能正常工作。

答案 2 :(得分:0)

查看Qpython,可能是一个简单的解决方案。你可以针对Qpython android python核心运行你的python脚本,或者部署你的。

结帐此存储库:https://github.com/qpython-android/app-call-qpython-api