经过多日的折腾,终于有点小小成就!期间反反复复,多次尝试,有好几次都有了放弃的念头;但最终还是坚持了下来,仔细学习研究的文章有好几十篇,各种工具到处找。为了总结经验教训,也为了有同样需求的朋友少走一点弯路,很有必要把这个过程记录下来,供大家参考!
很重要的一条经验,也算是教训吧:完美主义有时候真害死人,不要在一个地方死磕,你实现不了的,也许别人也实现不了,因为目前根本就没有这样的条件。如:
Termux 在 Android5.1 下安装 CentOS,找不到合适的源。(准确地说应该是在Android7以下)LinuxDeploy 中安装 Docker,可以安装成功,但不能运行;看到有人成功了,但效率低下,所以放弃了Docker。
成就展:(呵呵…)
(1)root手机手机要root,必须的;否则Linux Deploy无法使用;只要手机root后,在更低版本上应该也可以安装
这一步比较痛苦,但又是必须的。root成功后,手机上能删尽删,能冻结的尽量冻结,给后面的安装运行留下尽可能多的操作空间和性能提升。
以金立F100A手机为例;只有1G的内存,精简后相当的流畅;精简后的模样。
关于系统的精简,有单独的文章讲解。
【图文详解】RE文件管理器手工精简Android系统
点左上角三横杠进入
设置完成后,点左上角返回箭头,开始安装;如果还是英文,可以退出后重新进入,就变成中文了
(3)安装LinuxDeploy过程简单,可以参考下面博客
Linux Deploy 安装与使用 - coolape - 博客园 (cnblogs.com)
PATH变量/system/xbin (4)安装 CentOS
尽量用默认的源http://mirror.centos.org/altarch/
如果默认源不行,可以试试这两个:
http://chinanet.mirrors.ustc.edu.cn/centos-altarch/http://mirrors.aliyun.com/centos/ 安卓手机架构一般是aarch64安装路径 :安装在手机自带的存储空间中,则在路径开头加上${ENV_DIR};安装在 sdcard 中,加上${EXTERNAL_STORAGE}开启SSH
点Linux Deploy左上角的三个横杠进入;修改配置文件名称,然后配置 Liunx Deploy
修改配置文件名称,然后返回
配置 Liunx Deploy,然后返回
配置 CentOS,然后返回
关于挂载的补充说明
设置挂载:挂载目录如果不存在的话,会自动创建
手机Android中的目录结构:/sdcard/mycentos
CentOS 中的目录结构:/mnt/myapp
启动:如果添加挂载点之前已经安装好CentOS,就不需要重新安装。依次清空、配置、启动即可
测试挂载:两端都可以操作,是双向的
Android中添加,CentOS中删除
CentOS中添加,Android中删除
挂载的一个用途:利用SSH连接向手机传送文件 rz指令
点Linux Deploy右上角的三个点进入,配置、安装
启动CentOS
SSH连接
此时可以用ssh方式在电脑上操作
具体安装方法参考: 【Linux】6、软件安装:rpm、压缩包、yum_土味儿~的博客-CSDN博客
想在CentOS中安装Docker,可以安装,但反复尝试运行不成功;看到有人运行成功,但性能很低,所以就放弃了Docker,改为安装Java运行环境,直接运行Jar包。
选择与系统架构一致的jdk,否则运行时会提示 无法执行二进制文件;如:jdk-8u321-linux-aarch64.tar.gz
ssh远程安装jdk;上传指令 rz,如果没有 rz 指令,用 yum install lrzsz -y 安装
rz 上传参考于:xshell 使用命令上传、下载文件 - 七星瓢虫6 - 博客园 (cnblogs.com)
配置java环境变量;配置文件:/etc/profile,可以用 vi /etc/profile命令,在profile文件的最后加上
# jdk1.8.0_321就是java的安装目录,该目录下有bin,bin下有java...等命令;最后不要加/ JAVA_HOME=/usr/local/java/jdk1.8.0_321 # 各参数中间用冒号分隔,不是分号。最前面有. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar export PATH=$PATH:$JAVA_HOME/bin
让环境变量生效
# 以下两条命令执行一条即可;二者等价 source /etc/profile . /etc/profile(6)运行jar包 2)Termux 方案
3、Android7以上系统由于Android版本太低,很多源不支持,导致Termux下安装CentOS不成功;放弃
1)Termux方案 2)Aidlux方案Android7以上版本,可以采用下面两种方案,不用root,有比较多的源支持,相对简单,暂时省略



