【图文详解】Android手机系统精简 搭建Linux集群硬件环境 Jdk运行HelloWorld

本文主要是介绍【图文详解】Android手机系统精简 搭建Linux集群硬件环境 Jdk运行HelloWorld,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、序言

经过多日的折腾,终于有点小小成就!期间反反复复,多次尝试,有好几次都有了放弃的念头;但最终还是坚持了下来,仔细学习研究的文章有好几十篇,各种工具到处找。为了总结经验教训,也为了有同样需求的朋友少走一点弯路,很有必要把这个过程记录下来,供大家参考!

  • 很重要的一条经验,也算是教训吧:完美主义有时候真害死人不要在一个地方死磕,你实现不了的,也许别人也实现不了,因为目前根本就没有这样的条件。如:
    • Termux 在 Android5.1 下安装 CentOS,找不到合适的源。(准确地说应该是在Android7以下)
    • LinuxDeploy 中安装 Docker,可以安装成功,但不能运行;看到有人成功了,但效率低下,所以放弃了Docker。

成就展:(呵呵…)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、Android5.1系统

1)BusyBox+LinuxDeploy 方案

手机要root,必须的;否则Linux Deploy无法使用;只要手机root后,在更低版本上应该也可以安装

(1)root手机

这一步比较痛苦,但又是必须的。root成功后,手机上能删尽删,能冻结的尽量冻结,给后面的安装运行留下尽可能多的操作空间和性能提升。

以金立F100A手机为例;只有1G的内存,精简后相当的流畅;精简后的模样。

关于系统的精简,有单独的文章讲解。
【图文详解】RE文件管理器手工精简Android系统

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(2)安装BusyBox

  • 点左上角三横杠进入

在这里插入图片描述

在这里插入图片描述

  • 设置完成后,点左上角返回箭头,开始安装;如果还是英文,可以退出后重新进入,就变成中文了

在这里插入图片描述

(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机系统路径
/storage/sdcard0/xxx
# 外部扩展卡路径
/storage/sdcard1/xxx
# CentOS中路径
/usr/local/xxx
  • 手机Android中的目录结构:/sdcard/mycentos

在这里插入图片描述

在这里插入图片描述

  • CentOS 中的目录结构:/mnt/myapp

在这里插入图片描述

  • 启动:如果添加挂载点之前已经安装好CentOS,就不需要重新安装。依次清空、配置、启动即可

在这里插入图片描述

  • 测试挂载:两端都可以操作,是双向的

    Android中添加,CentOS中删除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

CentOS中添加,Android中删除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

挂载的一个用途:利用SSH连接向手机传送文件 rz指令


  • 点Linux Deploy右上角的三个点进入,配置、安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 启动CentOS

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • SSH连接

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5)安装Java运行环境

此时可以用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.jarexport PATH=$PATH:$JAVA_HOME/bin
    

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 让环境变量生效

    # 以下两条命令执行一条即可;二者等价
    source /etc/profile. /etc/profile
    

在这里插入图片描述

(6)运行jar包

在这里插入图片描述

在这里插入图片描述

2)Termux 方案

由于Android版本太低,很多源不支持,导致Termux下安装CentOS不成功;放弃

3、Android7以上系统

Android7以上版本,可以采用下面两种方案,不用root,有比较多的源支持,相对简单,暂时省略

1)Termux方案

2)Aidlux方案

这篇关于【图文详解】Android手机系统精简 搭建Linux集群硬件环境 Jdk运行HelloWorld的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942745

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境