TermuxにJava16をインストールする方法

2024/05/07に公開

Android で linux シェルが使えちゃう TermuxJava16 (openjdk-16) をインストールする方法です。(Minecarft 1.16.5 のサーバーを建ててみたかっただけなのですが、こんなに手こずるとは思いませんでした)
通常ではインストールできない他の Java バージョンでもこの方法を使えばいけます!

Termux デフォルトのパッケージマネージャー「pkg」でインストールできる JDK は、openjdk-17 のみです。
そこで Termux に Ubuntu をインストールすれば幅が多少広がるのですが、それでもインストールできるバージョンは 8, 11, 17, 18, 19, 21 だけです…
apt のリポジトリの追加でできれば楽なのですが何故か効果が無かったので今回はこの方法を使います。

Ubuntu をインストール

https://github.com/MFDGaming/ubuntu-in-termux
こちらのスクリプトを使います。以下のコマンドを順に実行していけば、簡単に 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 からのダウンロードが何故かめちゃくちゃ遅かったので、下の記事を参考にミラーを使いました。提供元が不明のミラーも多いので自己責任で👍
https://zenn.dev/tetsu_koba/articles/c980cb3371c4bb

ダウンロードができたらインストールしていきます。
さっきのコマンドでダウンロードした場合は、下のコマンドを順に実行していけば大丈夫なはずです。

$ 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