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

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud