Java Coding from Android (using Termux)

Install Termux

Download and Install APK from:

https://github.com/termux/termux-app/releases

Base Packages

pkg install git
pkg install python3
pkg install wget
pkg install openjdk-21
pkg install maven
pkg install helix
pkg install helix-grammars
pkg install tmux

Java Language Server

Download and extract the package:

wget https://www.eclipse.org/downloads/download.php?file=/jdtls/milestones/1.48.0/jdt-language-server-1.48.0-202506271502.tar.gz -O jdtls.tar.gz
mkdir -p $HOME/jdtls
tar xzvf jdtls.tar.gz -C $HOME/jdtls
rm jdtls.tar.gz

Append to the ~/.bashrc file

export PATH=$PATH:$HOME/jdtls/bin

Java Code Formatter

Download package, create bash script and include in the system path:

mkdir -p $HOME/gjf
wget https://github.com/google/google-java-format/releases/download/v1.28.0/google-java-format-1.28.0-all-deps.jar -O $HOME/gjf/gjf.jar
echo "#!/bin/bash" >> $HOME/gjf/gjf.sh
echo "java -jar $HOME/gjf/gjf.jar $1" >> $HOME/gjf/gjf.sh
chmod +x $HOME/gjf/gjf.sh

Append to the ~/.bashrc file

export PATH=$PATH:$HOME/gjf

XML Formatter

Install Package

pkg install libxml2-utils

Append to the ~/.bashrc file

export XMLLINT_INDENT="  "

JavaScript Formatter

pkg install nodejs-lts
npm install --global --save-dev --save-exact prettier
touch $HOME/.prettierignore
echo '{"tabWidth": 2, "useTabs": false }' > $HOME/.prettierrc

Configure Helix

Edit file: .config/helix/languages.toml with the following content:

[[language]]
name = "xml"
formatter = { command = "xmllint", args = ["--format", "-"] }

[[language]]
name = "java"
formatter = { command = "gjf.sh", args = ["-"] }

[[language]]
name = "json"
formatter = { command = 'prettier', args = ["--parser", "json"] }

[[language]]
name = "html"
formatter = { command = 'prettier', args = ["--parser", "html"] }

[[language]]
name = "css"
formatter = { command = 'prettier', args = ["--parser", "css"] }

[[language]]
name = "scss"
formatter = { command = 'prettier', args = ["--parser", "scss"] }

[[language]]
name = "javascript"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }

[[language]]
name = "typescript"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }

[[language]]
name = "tsx"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }

Last update: 2025-07-28

java linux android

Back