我这里选用alpine来做开发环境,主要因为它体积小巧,方便移植和分享。如果只是我自己使用的话,我更喜欢使用ubuntu或者archlinux。alpine做开发环境,可能会遇到的问题就是中文语言环境的问题了吧。等遇到这样的问题在想办法解决吧!

Termux

Termux是一个Android终端模拟器和Linux环境应用程序,可直接运行而无root安装。自动安装了最小的基本系统-使用APT软件包管理器可以使用其他软件包。

安全的。 使用OpenSSH的ssh客户端访问远程服务器。Termux在漂亮的开源解决方案中将标准软件包与精确的终端仿真相结合。

功能打包。 在Bash,fish或Zsh和nano,Emacs或Vim之间选择。通过您的短信收件箱中的Grep。使用curl访问API端点,并使用rsync将联系人列表的备份存储在远程服务器上。

可定制的。 通过Debian和Ubuntu GNU / Linux已知的APT软件包管理系统安装所需的软件包。为什么不从安装Git并同步您的点文件开始呢?

可探索的。 您是否曾经坐在公交车上,想知道tar到底接受了哪些参数?Termux中提供的软件包与Mac和Linux上的软件包相同-在手机上安装手册页,并在一个会话中阅读手册,而在另一个会话中进行实验。

附带电池。 您能想象比读书线驱动的Python控制台更强大,更优雅的袖珍计算器吗?最新版本的Perl,Python,Ruby和Node.js均可用。

准备扩大规模。 连接蓝牙键盘,并在需要时将设备连接到外部显示器-Termux支持键盘快捷键并具有完整的鼠标支持。

可修补的。 通过使用Clang编译C文件进行开发,并使用CMake和pkg-config构建您自己的项目。如果您遇到困难并需要调试,则GDB和strace均可用。

Termux下载

Termux官网:
https://termux.com/

官网推荐下载地址:
https://f-droid.org/packages/com.termux/

该版本需要 Android 7.0 及以上版本。我使用华为P9和坚果R1都可以正常使用。

SSH远程管理

为了操作方法,我建议使用电脑ssh连接手机中的 termux来操作,连接方法见:
安装openssh

apt update
apt install openssh

启动sshd服务

sshd

这样手机上就安装好了 ssh并启动了服务。

设置自动启动ssh服务

echo "sshd" >> ~/.bashrc

手机查看当前用户名

whoami

我的显示结果为:

u0_a100

注意这个用户名每个人是不一样的。

手机查看当前ip

ifconfig -a

我的手机当前的ip为 :192.168.2.108
修改密码

passwd

我这里设置的密码 termux2021,密码你可以自行设置
pc连接ssh
命令如下:

ssh -p 8022 u0_a100@192.168.2.108

或者你也可以使用xshell,Termiux之类的工具远程。
输入我新设置的密码 termux2021,成功进来啦!!!

设置自动启动ssh服务

echo "sshd" >> ~/.bashrc

至此我们ssh服务就配置完成了,后面我们就可以用电脑通过ssh来玩安装在手机中的linux了。

安装Linux发行版

Termux提供了一个proot-distro软件包,用于管理Termux内部的Linux发行版。据说几乎没有性能损失。

您可以通过执行以下命令安装该实用程序
安装proot-distro

pkg install proot-distro

目前,它支持以下发行版:
Alpine Linux(别名:alpine)-最小的可用发行版。
Arch Linux(别名:archlinux)
Debian 10 Buster(别名:debian-buster)
Kali Nethunter(别名:nethunter)-当前只有最小的构建。
Ubuntu 18.04 / 20.04(别名:ubuntu-18.04 / ubuntu-20.04)
要安装发行版,只需运行以下命令(假设已安装proot-distro):

# 查询支持哪些发行版本
proot-distro list
proot-distro install <alias>

我安装的 是alpine,如下命令:

proot-distro install alpine

安装alpine体积会更小,下载量仅2.5M左右。很适合在空间比较小的手机上使用。随着docker的兴起
alpine越来越多被使用。

命令执行结果如下:

~ $ proot-distro install alpine
[*] Installing Alpine Linux 3.13.1...
[*] Downloading rootfs tarball...% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100   647  100   647    0     0    378      0  0:00:01  0:00:01 --:--:--   378
100 2558k  100 2558k    0     0   526k      0  0:00:04  0:00:04 --:--:--  876k[*] Checking integrity, please wait...
[*] Extracting rootfs, please wait...
[*] Writing '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/alpine/etc/profile.d/termux-proot.sh'...
[*] Writing resolv.conf file (NS 1.1.1.1/1.0.0.1)...
[*] Writing hosts file...
[*] Registering Android-specific UIDs and GIDs...
[*] Running distro-specific configuration steps...
[*] Installation finished.Now run 'proot-distro login alpine' to log in.

就这么简单,我们竟然在手机上安装了alpine linux。
进入alpine linux

proot-distro login alpine

执行结果如下:

~ $ proot-distro login alpine
localhost:~#

出现了root和#的标识了,这意味着我们现在可以为所欲为了!

切换国内源

默认源太慢了,我们还是切换一下国内的源下载软件会快很多。
切换到中科大的源,一条命令搞定:

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

其实就是修改/etc/apk/repositories中的地址,修改后内容如下:

cat /etc/apk/repositories
https://mirrors.ustc.edu.cn/alpine/v3.13/main
https://mirrors.ustc.edu.cn/alpine/v3.13/community

详细了解见:
《alpinelinux使用国内源》
https://blog.csdn.net/lxyoucan/article/details/117166318
/etc/apk/repositories

安装软件

以安装neofetch为例

apk add neofetch

设置中文环境

x86版本的alpine我设置成功了。详细见:《alpine linux配置中文语言环境》https://blog.csdn.net/lxyoucan/article/details/117165981

Termux版本的,也就是arm版本的,这一步我几经努力最终还是失败告终。不是不行,是需要自己去编译 glibc。没有中文其实影响也不算大,先这样吧。这样体积还能小一些。

配置开发环境

node.js

React Native的开发是离不开node.js的。我后面用到的nvim.coc也依赖这个。那就先安装一下吧!

apk add nodejs

查一下node的版本

localhost:~# node -v
v14.16.1

安装npm

apk add npm

查一下npm的版本

localhost:~# npm -v
6.14.12

切换淘宝源

# 使用nrm工具切换淘宝源
npx nrm use taobao
# 如果之后需要切换回官方源可使用
npx nrm use npm

万里长征第一步。

vim

我这里用vim做为IDE使用。

apk add vim

expo

#首次使用要安装一下expo命令行工具
npm install --global expo-cli
# 初始化一个项目
expo init my-project

总结

限于手机的性能有限,在手机上开发有点太卡了。一个expo安装了10 分钟!!!初始化一个项目也慢的受不了,都不知道有没有在运行。我决定放弃使用纯手机做APP开发。

参考文档

https://reactnative.cn/docs/environment-setup

【挑战】手机Termux搭建React Native开发环境相关推荐

  1. 在windows上搭建React Native开发环境

    最近要学习React Native,但是在window上搭建开发环境的时候遇到了些问题,以至于一直没有搭建好开发环境. React Native相关项目及文档: react-native的GitHub ...

  2. [转] 在Mac上搭建React Native开发环境

    原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...

  3. windows 下配置 react native 开发环境

    windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...

  4. Windows环境下安装React Native开发环境----记一次填坑过程

    前言 集成React Native开发环境遇到各个坑,调试了很久出现过找不到设备,百度上个别人的资料有误被绕来绕去耽误了很多时间,下载慢等待时间过长等问题,最后多方查阅资料,电脑重启等操作终于部署好了 ...

  5. React Native开发环境搭建

    1.安装Homebrew,简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件 2.安装node,brew install node 3.使用 homebrew 安 ...

  6. [React Native Android安利系列]搭建React Native Android环境

    欢迎大家收看react-native-android系列教程,跟着本系列教程学习,可以熟练掌握react-native-android的开发,你值得拥有 https://segmentfault.co ...

  7. React Native开发环境配置检测

    安装依赖: 必须安装的依赖有:Node.Yarn, JDK 和 Android Studio. 安装过程中,请务必保持一颗良好的心态 1. 基础环境搭建 : Node: 安装参考连接:https:// ...

  8. sublime67linter-php,Sublime Text 3 搭建 React.js 开发环境

    Sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境. 支持ES6, React.js, jsx代码高亮,对 JavaScript, jQue ...

  9. Sublime Text 3 搭建 React.js 开发环境

    Sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境. 1. babel-sublime 支持ES6, React.js, jsx代码高亮,对 ...

最新文章

  1. boost::uuid::string_generator相关的测试程序
  2. js 运算符_JS的相等和严格相等运算符(== amp; ===)
  3. 每天写出好代码的5个建议
  4. php上传文件类插件,JQueryfileupload插件实现文件上传功能_jquery
  5. Ubuntu下好用的小工具
  6. UIFont 设置字体
  7. 后期强ps画意大师完美破解版一键打造中国风
  8. 在iPhone任何界面截图完整图文教程
  9. 计算机信息安全专业代码0839,网络安全/信息安全专业大学排名(2017-2018-安全导航)...
  10. 计算机显卡驱动异常,解决显卡驱动无法正常安装的问题
  11. ICP(Iterative Closest Point)算法和Umeyama算法
  12. 清理了一毒窝,基本上能中的全中了
  13. 设计素材|最流行的抽象流体彩色渐变海报,艺术感爆棚
  14. symmetric tree java_Symmetric Tree对称树
  15. 不能爬小程序,叫什么会爬虫
  16. java number比较大小_JAVA Number与Math类
  17. Hive小额数据处理(模拟数据已给出)
  18. 仿哔哩哔哩视频app小程序模板源码
  19. MongoDB分组取每组中一条数据
  20. 一劳永逸批量启动Jar包

热门文章

  1. vuex概念之Getter用法详解
  2. uniapp开发——微信小程序获取上传图片的拍摄时间(附源码)
  3. osgEarth示例分析——osgearth_minimap
  4. vpython学习手册——矢量对象
  5. 软考系统架构师-计算机组成和体系结构
  6. 20、【华为HCIE-Storage】--Smart Qos
  7. 传感器模拟器——python
  8. 抽象类,抽象方法,继承调用实现
  9. 【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来
  10. python数据分析怎么学