0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

Ubuntu(CLI)上での.NET MAUI androidアプリ用ビルド環境構築方法

Last updated at Posted at 2024-01-20

AndroidスマホのターミナルアプリからVPSに繋いでCLIでAndroidアプリを開発するための環境構築方法のメモ

動機

WPFアプリをテキストエディタのみで作れることから同じようにandroidアプリも作れないかと思い調べた。
結果できた。

試した環境

  • Ubuntu 20.04.6(さくらVPS・コンソールのみ)
  • Ubuntu 22.04.3 LTS(Windows11上のwslテスト環境・コンソールのみ)
    (下のスクショはwslテスト環境)

最初にアップデート作業

sudo apt update && sudo apt upgrade -y

必要なSDKのインストール

"dotnet7" "android-sdk" "openjdk-21-jdk"の3つは最低必要

sudo apt install dotnet7 android-sdk openjdk-21-jdk

.NET MAUIのテンプレートをインストールしてプロジェクトを生成

#.NET MAUIのテンプレートを探す
dotnet new search maui

image.png
パッケージのところがインストールで必要なところ

#.NET MAUIのテンプレートをインストール
dotnet new install Microsoft.Maui.Templates
#testMAUIというプロジェクトを作成
dotnet new maui --name testMAUI

生成されたプロジェクトファイルを一部変更しておく
ターゲットの'net6.0-ios;net6.0-maccatalyst'を消しておかないと上手くビルドできない

<!-- csprojファイルのターゲットフレームワークを変更 -->
<TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
<!-- ↓のように編集 -->
<TargetFrameworks>net7.0-android</TargetFrameworks>

ビルドをしながら環境修正

dotnet workloadにmaui-androidをインストール

この状態でビルドしてみる

cd testMAUI
dotnet build

するとエラー発生しビルド失敗
image.png

エラー文を確認するとworkloadにmaui-androidをインストールするようメッセージが出るのでインストールを実行

dotnet workload install maui-android
dotnet workload restore testMAUI.csproj
#これでもビルドで同じエラー文が出る場合は↓を実行
dotnet workload repair

環境変数'AndroidSdkDirectory'の設定

ここでビルドを実行しても次は違うエラー文が発生する
image.png

このエラーには環境変数'AndroidSdkDirectory'にandroid-sdkのインストール場所を設定する

#.bashrc等に記載しておくとよい
export AndroidSdkDirectory=/usr/lib/android-sdk

android-sdkに対応プラットフォームバージョンをインストール

再度ビルドするとさらにエラー文
image.png

これはandroid-sdkに対応プラットフォームバージョンが入っていないことが理由
CLIのみで目的のバージョンを入れる場合にはAndroid Studio公式からcmdline-toolsをダウンロードしてandroid-sdk直下に展開する。
image.png

#ダウンロードして
curl https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip?hl=ja --output ~/cmdlinetool.zip
#展開
sudo unzip ~/cmdlinetool.zip -d /usr/lib/android-sdk/

sdkmanagerを使用してプラットフォームバージョンをインストール
プラットフォームバージョンはエラーメッセージに出ていた「API レベル 数字」の数字の部分をandroid-数字の部分に当てはめる

sudo /usr/lib/android-sdk/cmdline-tools/bin/sdkmanager "platforms;android-33" --sdk_root=/usr/lib/android-sdk/

これでプロジェクトディレクトリでビルドコマンドを打つとapkファイルが生成されます。

#直接実機で動かす場合はreleaseにする
dotnet buid -c release

できあがったapkファイルは「"プロジェクトディレクトリ"/bin/Release/net**-android/」内にあります。

image.png

以上!!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?