【图文详解】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

相关文章

Java集合中的链表与结构详解

《Java集合中的链表与结构详解》链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序的通过链表中的引用链接次序实现,文章对比ArrayList与LinkedList的结构差异,详细讲解了链表... 目录一、链表概念与结构二、当向单链表的实现2.1 准备工作2.2 初始化链表2.3 打印数据、链表长

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Java异常捕获及处理方式详解

《Java异常捕获及处理方式详解》异常处理是Java编程中非常重要的一部分,它允许我们在程序运行时捕获并处理错误或不预期的行为,而不是让程序直接崩溃,本文将介绍Java中如何捕获异常,以及常用的异常处... 目录前言什么是异常?Java异常的基本语法解释:1. 捕获异常并处理示例1:捕获并处理单个异常解释:

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Linux grep 命令的使用指南

《Linuxgrep命令的使用指南》本文给大家介绍Linuxgrep命令的使用指南,包括基础搜索语法、实践指南,感兴趣的朋友跟随小编一起看看吧... 目录linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索2. 多文件搜索二、常用选项详解1. 输出控制选项2. 上下文控制选项三、正则表达