在Android手机上配置gcc,g++,python3

#我觉得自己真的是好无聊呀,明明有sl4a,qpython,c4droid,AIDE还要搞这些乱七八糟的东西。。。

既然搞了那就简要记录下,方便自己以后查阅。。。

昨晚突然想把自己的手机root了,然后在机锋论坛找到帖子:[联通版] 最新5.01的I9502ZNUJOC3固件包下载,附带ROOT工具,亲测OK。。。,按照楼主所说的去做成功把自己手机root了。(用SuperSU管理权限)

然后推荐下https://apkpure.com/,这个网站可以下载google play上的apk,很方便

我下了root explorer(管理文件),busybox(用于强化原来没几个命令的命令行),The description of System app remover(用于把联通内定的应用干掉)

坑爹的是,我忘记把蓝牙键盘带回来了,用手机操作很蛋疼。。。

然后竟然发现可以让手机变成ssh服务器,电脑直接ssh我的手机进行操作。

下了SSHDroidQuickSSHd,不是一打开黑屏就是卡死。。。我指的我的手机,看评论其他人根本没那么多事。。。后来下了SSH Server,发现真好用,设置一下后,我也懒得重启开linux,直接去下了个xshell,成功ssh到手机上

接下来就选命令行的软件,换了几个,最终选了Terminal IDE,

GCC 4.4.0, make 3.82, ctags, javac, java, dx, proguard, aapt, apkbuilder, signer, ssh, sshd, telnetd, bash 4.2, busybox 1.19.2, vim 7.3, nano 2.2.6, midnight commander 4.8, htop 1.0, TMUX 1.5, links 2.7, rsync 3.0.8, git 1.7.8, BitchX 1.1 and a nice terminal emulator are all available.
也是吊。打开后点install system,再开命令行就会出现五颜六色的命令行,vim也能用,竟然还会自动补全,高亮,都配置好了,啧啧啧

接下来就是gcc,g++,python的环境变量配置。

gcc和g++的话,我参考了强化你的Terminal IDE—在android平板/手机上编写C/C++这篇文章,就是以下步骤:

1.下载GCC plugin for C4droid C++ IDE APK,把lib里面的gcc.zip解压

2.把解压后gcc文件夹搬到/data/data/com.spartacusrex.spartacuside/files/system,讲道理的话是要先su root的,否则/data/data好像是permission denied

3.打开/data/data/com.spartacusrex.spartacuside/files/.bashrc文件,注意如果在xshell中ssh到手机,就要用这个路径;如果是手机上用Terminal IDE打开,就是~/.bashrc,因为Terminal IDE的~/就是/data/data/com.spartacusrex.spartacuside/files。打开后加入以下三行:

export CPLUS_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/c++/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/include:$C_INCLUDE_PATH
export PATH=$IDESYSTEM/gcc/bin:$PATH

然后保存

4.将gcc/bin下的文件改一下名,arm-linux-androideabi-gcc和arm-linux-androideabi-g++改为gcc和g++

5.由于是在root下操作,所以要把gcc文件夹权限改成普通用户也可以访问,要不等下gcc的时候肯定permission denied,所以到/data/data/com.spartacusrex.spartacuside/files/system目录下

chmod -R 777 *

6.然后重启Terminal IDE就可以啦

截个图看看效果:(图中<++是g++啦,它一行显示不了那么多,另外不要吐槽为什么是.c,因为一开始我是先测试gcc,再把文件内容改成C++的helloworld)

截图1

然后就是python啦

总是有人这么蛋疼的。。我又找到另一个教程Python3 for terminal IDE 的实现。。。

先上https://code.google.com/archive/p/python-for-android/搞了apk下来,然后安装,打开后按第一项install,就会开始装了(最好先调出菜单check version,另外要注意此处安装需科学上网。。。)

另外吐槽下,python-for-android在2013就不再更新的样子,不知是否和Guido van Rossum在2012年离开google有关

安好了之后照上面的第三步打开/data/data/com.spartacusrex.spartacuside/files/.bashrc,然后加入以下:

export EXTERNAL_STORAGE=/mnt/sdcard/com.googlecode.python3forandroid
export PY34A=/data/data/com.googlecode.python3forandroid/files/python3
export PY4A_EXTRAS=$EXTERNAL_STORAGE/extras
PYTHONPATH=$EXTERNAL_STORAGE/extras/python3
PYTHONPATH=${PYTHONPATH}:$PY34A/lib/python3.2/lib-dynload
export PYTHONPATH
export TEMP=$EXTERNAL_STORAGE/extras/python3/tmp
export PYTHON_EGG_CACHE=$TEMP
export PYTHONHOME=$PY34A
export LD_LIBRARY_PATH=$PY34A/lib
export PATH=$PYTHONHOME/bin:$PATH

保存后重启Terminal IDE,就可以了。效果如下图:(图中的<ython3 hello.py就是python3 hello.py啦,然后warning我也没找到具体的解决方案。。。hello.py里面就一条语句print(‘Hello’)啦,就是倒数第二行的效果)

截图2

然后就没了,记录一下,顺便吐槽下寒假在家里效率真是低。。。