Skip to content

如果你只有Android设备

IMPORTANT

本教程需要一定Linux基础

2025-03-17 Novarc

本教程将讲述在android手机上使用termux开发mdt mod的 基本配置 和 容器安装
由于部分设备不支持容器 也加入了如果不安装容器的一些配置方案(因为termux的路径系统 一些东西可能会有问题)

Termux配置

NOTE

Termux是一个适用于 Android 的终端模拟器,其环境类似于 Linux 环境。 无需Root或设置即可使用。 Termux 会自动进行最小安装 - 使用 APT 包管理器即可获得其他软件包。

TIP

推荐新人使用功能更加强大的ZeroTermux
ZeroTermux基于Termux进行修改,内置一键切换apt/pkg软件源、一键备份恢复等多种便捷功能
另外支持背景

下面ZeroTermux和Termux二选一

TIP

建议熟悉后换成Termux

Termux基础介绍

  • ~/
    • .termux/, Termux配置
    • termux.properties, termux基础配置
    • colors.properties, 配色配置
    • font.ttf, 字体 可以替换
    • shell
    • storage/, 挂载的外部储存卡
    • download/, /storage/emulated/0/Download/
    • documents/, /storage/emulated/0/Documents/
    • ...

挂载存储卡请运行termux-setup-storage

基础配置(可选)

小键配置

修改~/.termux/termux.properties

配色方案

修改~/.termux/colors.properties

字体设置

修改~/.termux/font.ttf

ZeroTermux配置(可选)

打开左菜单 自行配置

镜像配置

清华源

txt
打开左菜单选择切换源
shell
termux-change-repo
shell
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade

容器安装

部分国产安卓系统可能不支持容器
如果不想安装容器就跳过
安装容器后基本上就是相当于拥有了一个linux系统 配置模组开发环境和IDE可以参考前面的教程

对于没有toot的 推荐使用PRoot

NOTE

PRoot 是一个 chroot, mount –bind, 和 binfmt_misc 的用户空间实现。这意味着,用户不需要任何特殊权限和设置就可以使用任意目录作为新的根文件系统或者通过QEMU运行为其它CPU架构构建的程序。

对于已root的 推荐使用chroot

NOTE

Chroot 是一种修改当前进程及其子进程的可见根目录的操作。修改后,进程将不能访问该环境目录树以外的任何文件和命令,这种修改后的环境叫作 chroot jail(直译为 chroot 监狱)

TIP

由于直接使用proot/chroot安装比较麻烦 一些配置比较复杂 本教程使用Tmoe安装容器

Tmoe

NOTE

TMOE More Optional Environments.

Loading
  0
  0

官方文档
安装tmoe

txt
打开左菜单选择`MOE全能`
shell
 if ! which curl; then pkg install;fi
curl -LO https://gitee.com/mo2/linux/raw/2/2.awk
awk -f 2.awk

后续使用tmoe或者awk -f 2.awk命名便可直接打开

容器

选择proot/chroot容器选择arm64发行版列表容器

NOTE

Arch Linux 是一个轻量级和高度可定制的 Linux 发行版,最初发布于 2002 年。与其他流行的发行版不同,Arch Linux 是一个简约的发行版,采用自己动手(DIY)的方式。它是为中高级 Linux 用户设计的,他们喜欢控制和灵活性而不是易用性

NOTE

Ubuntu 由 Canonical 创建,它是最受欢迎的 Linux 发行版之一,为所有用户和各种使用情况而设计。你可以将 Ubuntu 用于日常工作、开发环境、休闲浏览等方面。

TIP

似乎因为tmoe过老 arch安装过程似乎因为镜像问题速度有点慢了 自行选择 推荐ArchLinux或者Ubuntu

因为tmoe安装过程十分人性化
而且有中文 所以自己配置 记住认真选择
别没用的都安了
如果需要使用idea或者vsc(不算code-server)的请记得通过tmoe安装桌面并且安装vnc

tmoe tools

在linux容器里运行tmoe选择tools即可进入tmoe tools辅助安装软件了

图形化界面和VNC

NOTE

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的
直接启动tmoe tools来安装
本教程不介绍其他自行安装的方法

ZSH配置(可选)

NOTE

尽管Tmoe安装zsh比较方便
但是因为使用的是oh my zsh性能堪忧
推荐查看Zsh配置教程 配置zsh+zinit

打开TMOE Tools
找到ZSH
配色和主题自选

预览

预览为p10k ZSH Preview

VNC客户端安装

本教程使用AVNC客户端 AVNC SVG

Loading
  0
  0

github下载

无容器配置

无容器环境下的一些配置与linux相似但又区别 其他教程中的Termux分组指的就是无容器环境下的配置方案
自行参考其他教程

使用tmoe配置zsh(可选)

尽管tmoe一般是来安装容器的
不过也可以通过tmoe安装zsh美化终端
按照上面方法安装/打开tmoe
选择 configure zsh美化终端
后面操作和linux中使用tmoe配置zsh一样

常用IDE介绍

开发Mindustry Java Mod需要的IDE 下面介绍一些常用IDE

下面是一个对比表格

IDE介绍特征建议
IDEA由JetBrains开发的专业Java/Kt IDE强大的功能 简单的配置开发Java/Kt mod的最佳选择
vscode免费开源的多语音IDE需要安装插件配置 较为复杂都能跑vsc了给我用idea去
NeovimVim的升级版本需要复杂的配置 当然可以使用一些现有配置Termux无容器用户的必然选择 Linux命令行用户的选择 低配android跑linux的选择
AndroidIDE安卓平台上的Java Ide本质上是内置了一个Termux 外面提供GUI可以尝试但是问题较多

TIP

对于无容器的Termux仅能使用Neovim 对于安装linux容器的Termux(需要安装桌面) 如果配置好可以使用IDEA 6GB运存能基本使用了 追求便利/现代可以使用Vscode/code-server code-server网页操作上可能有点问题 屏幕太小不好操控 追求性能和操作可以使用Neovim

IDEA

IdeaIntelliJ IDEA官网

介绍

面向专业开发的 IDE 适用于 Java 和 Kotlin

  • 卓越的 Java 和 Kotlin 体验
  • 深度代码理解 在每个上下文中提供相关建议,实现极快的导航和智能体验。
  • 开箱即用的无缝体验

NOTE

IDEA分为Ultimate(专业版)/Community(社区版) 专业版需要付费 功能更加强大 但是对于mdt mod开发人员来讲社区版完全够用 当然你可以通过education白嫖

安装

前往官网安装指定平台即可 含容器的termux请安装linux arm64版本 使用简单方便

推荐插件

  • Rainbow Brackets 彩虹括号插件 (超级推荐)
  • Color Highlighter 显示颜色代码 (超级推荐)
  • Translation 翻译插件
  • Key Promoter X 快捷键提示插件
  • CamelCase 驼峰命名和下划线命名转换
  • CodeGlance 显示代码缩略图
  • CheckStyle 代码风格检查插件
  • Save Actions 格式化代码插件
  • SonarLint 代码质量检查插件
  • Statistic 代码统计插件
  • IdeaVim Idea使用vim特征

关于安卓设备

安卓设备安装容器后即可跑IDEA 需要下载Linux arm64版本 注意 配置要求较高 至少6GB运存

预览

Idea Android

Vscode/Code-server

Neovim

IMPORTANT

需要Lua基础和vim基础

Loading
  0
  0

Neovim Neovim 是一款现代化、高效且功能丰富的编辑器,完全兼容 Vim。它支持插件、图形界面、语言服务器协议(LSP)、Lua 编程语言等功能。 Neovim配置主要使用Lua

vim/neovim的优势在于

  • 只用键盘很舒服
  • 高度可定制性
  • 一些高效功能
  • 轻量

NOTE

需要注意的是使用vim/neovim能提高部分码字速度 但对于大部分人来讲不能提高实际编码速度 对于真正熟练的大佬才行 编程的大部分时间在思考而非码字 纯键盘化操作能带来舒适 繁琐操作鼠标会有一定麻烦

预览

AstroNvim AstroNvim

命令行安装

Nvim安装需要很多辅助的库
git,gcc,ripgrep,fd,unzip,tree-sitter,luarocks

TIP

长期在图形化界面使用neovim非常非常推荐安装GUI客户端
Termux无容器不支持GUI!
安卓上运行的Linux也不建议使用GUI

GUI安装

有非常多Neovim GUI客户端
下面给出一些

nvim-qt

Loading
  0
  0

neovide

NOTE

neovide需要neovim 0.10及以上

Loading
  0
  0

配置

Neovim配置比较复杂
下面有一些常用的第三方配置

镜像配置

讲一些neovim常用管理插件通用的镜像配置
下面的require().setup有时候并不会直接出现 自行寻找哪里配置配置选项

Lazy.nvim

Lazy.nvim安装插件从github.com安装
在Lazy.nvim的setup文件(比如lazy_setup.lua)里面

lua
require("lazy").setup({
...
},{
...
  git = { url_format = "{镜像}/https://github.com/%s.git" },
-- 比如"https://github.tbedu.top/https://github.com/%s.git"
...
})

另外Lazy本身安装时候的镜像配置
找到init.lua将里面的https://github.com前面加上镜像就好了

Mason

Mason安装部分包时候默认从github.com安装
找到Mason setup的位置
部分集成化配置(比如AstroNvim在~/.local/share/nvim/lazy/AstroNvim/lua/astronvim/plugins/mason.lua里面)自行寻找

lua
require("mason").setup({
  ...
  github = {download_url_template = "{镜像}/https://github.com/%s/releases/download/%s/%s",},
-- 比如"https://github.tbedu.top/https://github.com/%s/releases/download/%s/%s"
  ...
})

AstroNvim

Loading
  0
  0

AstroNvim

预览

AstroNvim

AstroNvim 是一个美观且功能丰富的 Neovim 配置方案,注重可扩展性和可用性。 官方文档

需求

  • Nerd Fonts 含有图标的字体
  • Neovim v0.9.5+ (不含nightly版)
  • 粘贴板管理器 (Linux用户)
  • 支持真彩色的终端
  • 可选
    • ripgrep - 实时全局搜索(通过 Telescope 插件,快捷键 <Leader>fw
    • lazygit - Git 终端可视化界面(快捷键 <Leader>tl<Leader>gg 切换终端)
    • gdu - 磁盘用量分析工具(快捷键 <Leader>tu 切换终端)
    • bottom - 进程监控器(快捷键 <Leader>tt 切换终端)
    • Python - Python 交互式终端(快捷键 <Leader>tp 切换)
    • Node.js - 为多数 LSP 提供支持,同时开启 Node 交互式终端(快捷键 <Leader>tn 切换)

安装

使用官方模板

安装好后将~/.config/nvim/lua/plugins/下的每个文件首行

lua
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE

去掉激活文件

特征

配置

要开始自定义配置,您只需将自己的 nvim 文件夹视为专属 Neovim 配置!您还可以将其同步到 Git 仓库进行备份。AstroNvim 本质上是一个由 Lazy 包管理器管理的插件,它提供了一系列预置插件及其配置。

启动模板

如果你使用的是上面的安装方式
会得到下面的文件树

  • ~/.config/nvim/
    • README.md
    • init.lua 安装Lazy.nvim插件管理器 在这里修改lazy安装镜像
    • lua/
      • community.lua 导入AstroCommunity插件
      • lazy_setup.lua 配置并启动lazy.nvim 这里修改Lazy安装其他插件时用镜像
      • plugins/ 配置插件
        • astrocore.lua
        • astrolsp.lua
        • astroui.lua
        • mason.lua
        • none-ls.lua
        • treesitter.lua
        • user.lua
        • ...
      • polish.lua 最后执行Lua

核心配置解析

顶层文件 init.lua

  • 核心作用:作为配置入口文件
  • 执行流程
    1. 自动检测并安装 lazy.nvim 插件管理器(若未安装)
    2. 调用 lua/lazy_setup.lua 完成 AstroNvim 核心插件与用户插件的协同加载
    3. 通过模块化设计实现配置分层管理

plugins/ 插件目录结构

  • 核心配置:前三个插件文件用于 AstroNvim 基础配置(如 astronvim.lua
  • 增强配置:后续四个文件用于扩展内置插件功能(如 treesitter.lua 优化语法解析)
  • 用户自定义:默认通过 user.lua 集中管理插件,支持按需拆分为独立文件(推荐按插件名命名文件)

AstroCommunity

lua
return {
  -- 添加社区插件规范仓库
  "AstroNvim/astrocommunity",
  --插件可以在https://github.com/AstroNvim/astrocommunity找到
  --下面推荐一些常用插件
  { import = "astrocommunity.pack.lua" },
  -- Lua环境
  { import = "astrocommunity.editing-support.neogen" },
  -- 注解生成
  { import = "astrocommunity.bars-and-lines.lualine-nvim" },
  { import = "astrocommunity.bars-and-lines.bufferline-nvim" },
  --更好的底部状态条
  { import = "astrocommunity.colorscheme.tokyonight-nvim" },
  -- tokyonight主题 Preview使用的
  { import = "astrocommunity.color.transparent-nvim" },
  -- 背景透明 :TransparentToggle激活
}

Java Lsp配置

使用Neovim开发Java Mod使用
eclipse-jdtls作为Java的LSP

Loading
  0
  0

IMPORTANT

较新版本的Jdtls不支持java 17
实测1.39.0版本可以运行
arch linux如果想用pacman安装jdtls要学会降版本

通过Mason安装jdtls

运行:MasonInstall jdtls即可

本地安装

下载https://download.eclipse.org/justj/?file=jdtls/milestones/1.39.0里面的对应文件
自行解压 配置环境变量
运行mkdir ~/.local/share/nvim/mason/packages/jdtls诱骗Mason认为jdtls已经安装

无容器Termux特别注意

IMPORTANT

jdtls安装好后 因为Termux的路径系统问题需要调整

shell
vim ~/.local/share/nvim/lazy/nvim-lspconfig/lua/lspconfig/configs/jdtls.lua

修改文件

lua
...
  return {
    default_config = {
        cmd = {
            'python3',
            '{到jdtls的绝对路径}',
            '-configuration',--这行没变
            ...
          }
      }
}
...

AndroidIDE

AIDE目前还有一些潜在问题
可以试试

预览

图片由E 355416854提供 AndroidIDEPreview