[FIXED] Will updating packages to latest version break in lower API Android devices
Issue
I have been updating a Xamarin.Android app targetting Android12. Below are the APP’s target APIs.
Min target API – 19
Max target API – 31
Compile/Target framework – 31
I am updating few packages in the Project to the targetframework 12. It works fine in Android 12 device.
I have few doubts here.
1. will the updated packages targetting android 12 framework create any issues in Android 9 ?
2. Other than requiredInstallation for the target framework, should we reinstall remaining packages.
i.e., Currently in my Packages.Config, all the packages have target framework as monodroid version 9. Should I reinstall them to target framework as Monodroid version 12
<package id="System.Linq" version="4.3.0" targetFramework="monoandroid90" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="monoandroid90" />
<package id="System.Memory" version="4.5.3" targetFramework="monoandroid90" />
<package id="System.Net.Http" version="4.3.4" targetFramework="monoandroid90" />
<package id="System.Net.Primitives" version="4.3.1" targetFramework="monoandroid90" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="monoandroid90" />
<package id="Xamarin.Bindings.AdvancedRecyclerView" version="1.11.0.0" targetFramework="monoandroid90" />
<package id="Xamarin.Build.Download" version="0.10.0" targetFramework="monoandroid90" />
<package id="Xamarin.Essentials" version="1.7.3" targetFramework="monoandroid12.0" />
<package id="Xamarin.FFImageLoading" version="2.4.11.982" targetFramework="monoandroid90" />
<package id="Xamarin.Google.Android.Material" version="1.4.0.4" targetFramework="monoandroid12.0" />
<package id="Xamarin.Google.Guava.ListenableFuture" version="1.0.0.2" targetFramework="monoandroid12.0" />
<package id="Xamarin.Jetbrains.Annotations" version="13.0.0.1" targetFramework="monoandroid90" />
3. If so, how to check the updated/resintalled package’s compatability with Android 9 ?
Please help me understanding this.
Thanks!!
Solution
- will the updated packages targetting android 12 framework create any issues in Android 9 ?
In the native android official document :
Each successive version of Android provides compatibility for apps that were built using the APIs from previous platform versions, so your app should always be compatible with future versions of Android while using the documented Android APIs.
So google has taken into consideration compatibility of the different android versions, and you said that your app run well on the Android 12, it should also run well on android 9.
In addition, the android version compatibility’s point is the updating Api in the new version, so you can just try to run it on the Android 9 to test if there are any problems about the api in your project or not. For more information, you can check the official document about Support different platform versions.
And for the second problem, it depends on you, updating or not are both ok. Because your target version is same as the Max Api. You can chekc the official document about it.
Answered By – Liyun Zhang – MSFT
Answer Checked By – Jay B. (FixeMe Admin)