APIレベルを30にしたら…

IT

2022-01-13

Visual Studio 2019でXamarinのAndroidアプリをつくっていたときの話。

Visual Studio Installerで2時間ぐらいかかって更新したら、SKDマネージャーに「API30 インストール済み」とやっと出た。

ところがAPIレベル30にしたら、なぜかビルドできなくなり、aabファイルも作れない。 ビルドの出力ログを見ると、「NuGetパッケージでXamarin.AndroidX.AppCompat.Resourcesをインストールすることが必要」だという。

仕方ないのでXamarin.AndroidX.AppCompat.Resourcesをインストールしようとすると、NuGetでは「非推奨」で黄色い三角マークがついている。MicroSoftの説明では、「重大なバグがある」とかで、Xamarin.AndroidX.AppCompat.AppCompatResourcesを代替使用してくれだとか。

だが、Xamarin.AndroidX.AppCompat.AppCompatResourcesをインストールしただけではビルドできず、もちろんエミュレータも作動しない。仕方なくXamarin.AndroidX.AppCompat.Resourcesをインストールするとビルドもaabファイル作成もエミュレートもすべてOK。

しかし「重大なバグ」があるのに、代替プログラムではビルドも何もできないというのはどういうことか。私のやり方がマズかっただけなんでしょうか。

ちなみに、Visual Studioを閉じてEclipseを起動しようとすると反応なし。jarファイルも開けなくなった。

jdkを再インストールすると異常は解消されたのだが、タイミングがあまりに近い。Visual Studioを閉じて直後のことだ。何か関係があるのでは…と考えてしまう。