目的
Android に Termux をインストールして .NET8 を実行できる環境を作っていきます
準備
以下の記事に Termux の導入方法が分かりやすく記載されています。 こちらを参考に Ubuntu にログインできるまで作業します。 qiita.com
Termux インストール後、sshで接続したい場合は以下の記事を参照
.NET8 インストール
# apt update # apt upgrade -y # apt install -y libicu72 wget vim # wget https://download.visualstudio.microsoft.com/download/pr/43e09d57-d0f5-4c92-a75a-b16cfd1983a4/cba02bd4f7c92fb59e22a25573d5a550/dotnet-sdk-8.0.100-linux-arm64.tar.gz # mkdir -p $HOME/dotnet # tar zxf dotnet-sdk-8.0.100-linux-arm64.tar.gz -C $HOME/dotnet # export PATH=$PATH:$HOME/dotnet # echo 'export DOTNET_ROOT=$HOME/dotnet' >> ~/.bashrc
上記はAndroidでASP.NET Coreを動かす #Android - Qiita に記載されているインストール方法を元に .NET8 用に変更しました。
最後の
# echo 'export DOTNET_ROOT=$HOME/dotnet' >> ~/.bashrc
これを実行しないと dotnet コマンド実行時にエラーが発生します。
root@localhost:~# dotnet --version GC heap initialization failed with error 0x8007000E Failed to create CoreCLR, HRESULT: 0x8007000E
よく理解していないのですが、GCヒープの初期化でクラッシュするらしい…?
動作確認
Blazor の公式チュートリアルに沿って作成します。 dotnet.microsoft.com
# dotnet new blazor -o BlazorApp # cd BlazorApp # dotnet run
コンソールに http://localhost:<ポート番号> が表示されるので Android側のブラウザでアクセスすると Blazorアプリが表示されます。