将SciPy编译到Android - 是否有人做到过,如何将FORTRAN代码编译为Android Arm

8 投票
3 回答
3682 浏览
提问于 2025-04-17 23:12

我正在做一个项目,把一个用SciPy写的科学Python应用移植到Android上。目前我使用的是

https://github.com/kivy/python-for-android

来构建代码。NumPy可以顺利构建,但SciPy却让我头疼。经过一番折腾,使用devenv和kivy的python for android,我勉强把SciPy的C库编译成了Android的ARM版本,但现在Fortran库还没有编译,我不知道该怎么办了。

如果有人能帮忙,我将非常感激。

3 个回答

1

我们成功地使用Linux-deploy在安卓设备上安装了一个功能齐全的Ubuntu系统。我们还安装了Python和一些科学计算库,比如SciPy和NumPy等等。

顺便提一下,通过为arm架构进行优化安装,我们的性能比x86架构的电脑还要好(前提是电脑有一个好的风扇来降温)。

1

如果这不是个答案,我先道个歉:

首先,如果你只是随便玩玩,我建议你在一个arm的chroot环境里安装一个普通的Linux,比如raspbian或者ubuntu,然后在里面进行操作。

最后,如果你想把你的库构建成真正的安卓库,你需要处理一些稍微不同的运行环境,不过这已经有人做过了,至少在Fortran方面是这样。http://specificimpulses.blogspot.com/2011/01/my-android-speaks-fortran-yours-can-too.html

通常情况下,你需要进行交叉编译,不过也有办法让安卓有点像自我托管(使用gcc和构建工具),但我不能保证你能顺利安装那些需要编译的包。

0

几年前,SciPy现在可以在arm架构上运行了。这里有一些已经编译好的安装包:https://forums.resin.io/t/precompiled-python-wheels-for-arm/591

撰写回答