将SciPy编译到Android - 是否有人做到过,如何将FORTRAN代码编译为Android Arm
我正在做一个项目,把一个用SciPy写的科学Python应用移植到Android上。目前我使用的是
https://github.com/kivy/python-for-android
来构建代码。NumPy可以顺利构建,但SciPy却让我头疼。经过一番折腾,使用devenv和kivy的python for android,我勉强把SciPy的C库编译成了Android的ARM版本,但现在Fortran库还没有编译,我不知道该怎么办了。
如果有人能帮忙,我将非常感激。
3 个回答
我们成功地使用Linux-deploy在安卓设备上安装了一个功能齐全的Ubuntu系统。我们还安装了Python和一些科学计算库,比如SciPy和NumPy等等。
顺便提一下,通过为arm架构进行优化安装,我们的性能比x86架构的电脑还要好(前提是电脑有一个好的风扇来降温)。
如果这不是个答案,我先道个歉:
首先,如果你只是随便玩玩,我建议你在一个arm的chroot环境里安装一个普通的Linux,比如raspbian或者ubuntu,然后在里面进行操作。
最后,如果你想把你的库构建成真正的安卓库,你需要处理一些稍微不同的运行环境,不过这已经有人做过了,至少在Fortran方面是这样。http://specificimpulses.blogspot.com/2011/01/my-android-speaks-fortran-yours-can-too.html
通常情况下,你需要进行交叉编译,不过也有办法让安卓有点像自我托管(使用gcc和构建工具),但我不能保证你能顺利安装那些需要编译的包。
几年前,SciPy现在可以在arm架构上运行了。这里有一些已经编译好的安装包:https://forums.resin.io/t/precompiled-python-wheels-for-arm/591