android 调用 python

文章可以帮你解决android下调用python方法获取返回值,往python函数中传参等。。。

我这里使用AS,如果使用ec开发的直接看 http://www.srplab.com/cn/index.html 官方下载的开发包 里面有demo,我下载了可以跑通;

不管是不是AS和ec,开始还是去看下CLE官网的开发包吧,下载下来看看,ec的有例子,可以编译过;
http://www.srplab.com/cn/index.html

开发包下载: http://www.srplab.com/cn/files/products.html

你可能会遇到的问题

1:注意so版本;版本都要一致,从开发包里复制粘贴;
2:注意so引入路径;as和ec是有区别的;


有什么问题大家可以一起讨论,之前找了很多资料,只有这个最后成功了,但是开始也有很多问题,还有通过JNI的 , 但是引入python.h 和python libs有问题VC上可以,在AS这个开发工具上怎么搞不知道,,现在这种移植也还行,简单,比较方便;之前还看了SL4A那个 也太扯淡了 ; jython在jvm环境下编译没毛病,一个jar搞定,但是如果在android下编译,那就不能用了,dvm和jvm确实不一样的;;;还是第一次直观的表现出来;还有一些其它的,太难懂,就不一一说了;


如下图:

libs的和jniLibs里面的so;
这里写图片描述

assets中放.py的文件和python的zip包;

我的add.py文件的代码

import time

def get_time():
    return time.time();

print("sin sin sin sin sin")

def add_num(a,b):  // 相加
    return a+b

def get_array(a): // 外边传入一个数组
    return a[0]  

def get_Str():  // 返回字符串
    return "sin niu bi"

里面import time 这里会爆红,需要把 time.cpython-34m.so放到assets下面可以执行get_time()这个函数;

下面是代码;

public class MainActivity 
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值