[Xamarin] Android Support Libraryを25から28にアップデートしてみた
2年ぐらい前に新規作成したXamarinプロジェクトでは、Androidサポートライブラリのバージョンが25でした。
そのため、Androidサポートライブラリのバージョンを最新の28にアップデートしてみました。
※最新のXamarin.FormsやFirebase Analytics用のライブラリを入れるためには、Androidサポートライブラリのバージョンを上げる必要があるのです……!!
環境
- Windows
- Windows 10 Pro
- Visual Studio Community 2019: 16.1.6
- Android
- Pixel 3a: Android 9
- Xamarin
- Xamarin: 16.1.0.545
- Xamarin.Android SDK: 9.3.0.23
- Xamarin.iOS and Xamarin.Mac SDK: 12.10.0.157
対応前の様子
- 共通プロジェクト
- .NET Standard 2.0
- Androidプロジェクト
- TargetSdkVersioin 28
明示的に導入済みのAndroidサポートライブラリは下記です。
名称 | バージョン |
---|---|
Xamarin.Android.Support.Design | 25.4.0.2 |
Xamarin.Android.Support.v4 | 25.4.0.2 |
Xamarin.Android.Support.v7.AppCompat | 25.4.0.2 |
Xamarin.Android.Support.v7.CardView | 25.4.0.2 |
Xamarin.Android.Support.v7.MediaRouter | 25.4.0.2 |
Androidサポートライブラリのバージョンを上げる
地道に上げていく
最新版のインストールを試みます。
はい、失敗しました。
Xamarin.Android.Support.Compat のバージョンの競合が検出されました。 この問題を解決するには、Xamarin.Android.Support.Compat 28.0.0.1 をプロジェクト xxxxxxx.Android に直接インストールするか、参照します。 xxxxxxx.Android -> Xamarin.Android.Support.Design 28.0.0.1 -> Xamarin.Android.Support.Compat (= 28.0.0.1) xxxxxxx.Android -> Xamarin.Android.Support.v7.AppCompat 25.4.0.2 -> Xamarin.Android.Support.Compat (= 25.4.0.2).
Xamarin.Android.Support.Compat
を入れてね、と言われたので入れます。
はい、失敗しました。
Xamarin.Android.Support.Annotations のバージョンの競合が検出されました。 この問題を解決するには、Xamarin.Android.Support.Annotations 28.0.0.1 をプロジェクト xxxxxxx.Android に直接インストールするか、参照します。 xxxxxxx.Android -> Xamarin.Android.Support.Compat 28.0.0.1 -> Xamarin.Android.Support.Annotations (= 28.0.0.1) xxxxxxx.Android -> Xamarin.Android.Support.v7.CardView 25.4.0.2 -> Xamarin.Android.Support.Annotations (= 25.4.0.2).
Xamarin.Android.Support.Annotations
を入れてね、と言われたので入れます。
今度は成功しました!!!
という流れで
競合を解消するために、エラーメッセージを見ながら、一つずつ明示的にインストール & バージョンアップすればOKです。
インストールの順番
私が試したプロジェクトでは、最終的に下記の順番でインストールすると、うまくバージョンアップできました!
- Xamarin.Android.Support.Annotations
- Xamarin.Android.Support.Compat
- Xamarin.Android.Support.Core.Utils
- Xamarin.Android.Support.Core.UI
- Xamarin.Android.Support.Fragment
- Xamarin.Android.Support.Media.Compat
- Xamarin.Android.Support.Design
- Xamarin.Android.Support.v4
- Xamarin.Android.Support.v7.AppCompat
- Xamarin.Android.Support.v7.CardView
- Xamarin.Android.Support.v7.MediaRouter
ビルド & 動作確認
最後にソリューションのリビルドを行い、アプリ起動して一通り動けば完了です!!
さいごに
これで、Xamarin.Forms自体も最新(v4.1系)にできますね!!