TermuxにJava16をインストールする方法
Android で linux シェルが使えちゃう Termux で Java16 (openjdk-16) をインストールする方法です。(Minecarft 1.16.5 のサーバーを建ててみたかっただけなのですが、こんなに手こずるとは思いませんでした)
通常ではインストールできない他の Java バージョンでもこの方法を使えばいけます!
Termux デフォルトのパッケージマネージャー「pkg」でインストールできる JDK は、openjdk-17 のみです。
そこで Termux に Ubuntu をインストールすれば幅が多少広がるのですが、それでもインストールできるバージョンは 8, 11, 17, 18, 19, 21 だけです…
apt のリポジトリの追加でできれば楽なのですが何故か効果が無かったので今回はこの方法を使います。
Ubuntu をインストール
こちらのスクリプトを使います。以下のコマンドを順に実行していけば、簡単に Ubuntu 環境が整います。
$ apt-get update && apt-get upgrade -y
$ apt-get install wget -y
$ apt-get install proot -y
$ apt-get install git -y
$ cd ~
$ git clone https://github.com/MFDGaming/ubuntu-in-termux.git
$ cd ubuntu-in-termux
$ chmod +x ubuntu.sh
$ ./ubuntu.sh -y
終わったら、以下のコマンドで Ubuntu を起動してログインします。
$ ./startubuntu.sh
続いて Ubuntu 内に wget をインストールします。
$ apt update && apt upgrade -y
$ apt install -y wget
バイナリパッケージを手動でダウンロード
以下の3つのバイナリパッケージを取ってきます。
- libjpeg62-turbo
- openjdk-16-jre-headless
- openjdk-16-jdk-headless
公式リポジトリから提供されているバイナリパッケージの URL などを簡単に確認できる、pkgs.org という便利なサイトがあります。今回はここからこの3つのパッケージを検索して、wget でダウンロードしていきます。
記事作成現在の最新バージョンは、それぞれ下のコマンドでダウンロードできます。
$ wget http://ftp.de.debian.org/debian/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.1.5-2_arm64.deb
$ wget http://ports.ubuntu.com/pool/universe/o/openjdk-16/openjdk-16-jre-headless_16.0.1+9-1~20.04_arm64.deb
$ wget http://ports.ubuntu.com/pool/universe/o/openjdk-16/openjdk-16-jdk-headless_16.0.1+9-1~20.04_arm64.deb
僕の環境では、ports.ubuntu.com
からのダウンロードが何故かめちゃくちゃ遅かったので、下の記事を参考にミラーを使いました。提供元が不明のミラーも多いので自己責任で👍
ダウンロードができたらインストールしていきます。
さっきのコマンドでダウンロードした場合は、下のコマンドを順に実行していけば大丈夫なはずです。
$ sudo apt install ./libjpeg62-turbo_2.1.5-2_arm64.deb
$ sudo apt install ./openjdk-16-jre-headless_16.0.1+9-1~20.04_arm64.deb
$ sudo apt install ./openjdk-16-jdk-headless_16.0.1+9-1~20.04_arm64.deb
おしまい
$ java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-120.04, mixed mode, sharing)
無事インストールできました!お疲れさまでした!
Discussion