Xamarin Forms with Google Play Services - xamarin

I created a XamarinForms app with latest version of XamarinForms stable v2.3.3.180 from NuGet in Visual Studio 2015.
Next, In NuGet manager I try to add latest stable version of Google Play Services Location https://www.nuget.org/packages/Xamarin.GooglePlayServices.Location
which currently is 42.1001.0.
But Google Play Services says it needs XamarinForms 2.3.3.193:
After hitting OK, the project explorer shows several references with yellow icons, and compiler gives warnings it couldn't find references:

Xamarin.Forms 23.3.180 has a dependency on the Android Support Library version 23.3.0. You have version 25.1.0 installed which isn't supported by Xamarin Forms.
Drop back your Android Support Library to version 23.3.0 and the issue should go away.

Related

Am i using the correct version of visual studio for app development?

My current Xamrin app deveenvironment on vs2017 :
a)Xamarin.Android version v7
android references
b)Xamarin.Forms version 3.4
forms references
c)Xamrin SDK platoform 28,27 are sdk manager Tool screenshot
Reason for confusion :
a) When i googled for the documentation related Xamarin.Andorid references
#https://developer.android.com/reference/android/support/design/package-summary it showed a message that it is deprecated
b)Also my Xamarin.Forms references are not the latest as per the release info # https://learn.microsoft.com/en-us/xamarin/xamarin-forms/release-notes/
c)But my android sdk are new to latest available in vs2017
Main question :
How is the Xamarin.version and xamarin.Forms affect my app development ?Should i upgrade to the latest versions of the same ( for that i need to install vs2019)?
If you could use the latest version of them, I will suggest that do that with no doubt.
You also could refer to Xamarin.Forms release notes and roadmap to know their difference betwenn their vesions.
About the version of Visual Studio, Visual Studio 2019 will support all the features of Xamarin now, however Visual Studio 2017 will not. Also can refer to the realease notes here.

Xamarin - How to update Mono.Android version to resolve dependencies?

I'm trying to install a nuget package (Xamarin.Firebase.Firestore) which requires a newer version of Xamarin.GooglePlayServices.Basement (60.1142.0, I have 42.1021.1), which in turn requires me to update the xamarin.android.support packages. When I try to update those, I get this error
"Package Xamarin.Android.Support.Design 27.0.2 is not compatible with monoandroid80 (MonoAndroid,Version=v8.0). Package Xamarin.Android.Support.Design 27.0.2 supports: monoandroid81 (MonoAndroid,Version=v8.1)"
I've tried changing my target android version to 8.1, I've also updated my SDK as well as the build tools. I'm running Visual Studio 15.6.1. As a last ditch effort, I tried deleting the Mono.Android V8.0 reference and then adding a new reference to V8.1, but whenever I do so, Visual studio just ends up adding the reference with the path pointing to V8.0, even though the reference I added was clearly pointing to V8.1.
Anyone has a clue how to resolve this issue?
tried changing my target android version to 8.1
You need to change the Target Framework that is used to compile your android application, not the Target Android version (but assumably you would set these two to the same, read the Understanding Android API Levels link below.
Visual Studio for Windows:
Visual Studio for Mac:
Target Framework – Specifies which framework to use in building your application. This API level is used at compile time by Xamarin.Android.
Minimum Android Version – Specifies the oldest Android version that you want your app to support. This API level is used at run time by Android.
Target Android Version – Specifies the version of Android that your app is intended to run on. This API level is used at run time by Android.
Understanding Android API Levels
Manifest Entries:
Visual Studio for Windows:
Visual Studio for Mac:

Xamarin Android SDK Manager doesn't save locations

Using Visual Studio 2017 and Xamarin, I installed the Xamarin Android SDK Manager to replace the default Android SDK Manager, which is now deprecated.
Then I updated JDK to the current x64 version and, using the Xamarin SDK Manager, I installed the most recent version of Android NDK.
I now want to update the locations of these SDK's in the Xamarin Android SDK Manager, Locations tab like so:
Yet, every time I restart the tool, the locations are reset. It also keeps telling me there's 2 components to install, yet when I do, it doesn't complain about any failure.
I have tried running as Admin and cannot seem to figure out what is wrong. Log files seem to be non existent. Is there anyone who has the same problem and found a solution?
This was a bug and has been fixed in 0.1.76.
See https://bugzilla.xamarin.com/show_bug.cgi?id=58319 for details.
Download the newest version here: https://marketplace.visualstudio.com/items?itemName=Xamarin.XamarinAndroidSDKManager

Xamarin.Android version numbers seem inconsistent

To keep build tool version consistency, I want to manually upgrade Xamarin on my desktop as well as my CI build server (not to be confused with a Xamarin mac build host). Running auto-update only works if I upgrade all machines at the same time.
So I go to download, and I thin I need to download Xamarin.Android - latest version is 4.0.1. No revision number is given here.
The thing is, I did run an update from Visual Studio the other day, and according to the about dialog, I'm now running "Xamarin.Android 6.0.1.10":
Xamarin 4.0.1.89 (413372c)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin.Android 6.0.1.10 (e98e962)
Visual Studio plugin to enable development for Xamarin.Android.
I've heard that the v4.0.1 relates to the Visual Studio plugin (I use VS on my desktop).
IN addition, I don't use Visual Studio on my CI build server; instead I have Xamarin Studio. When I look at pending updates for that, it's offering "Xamarin 4.0.1.93" - presumably not a Visual Studio plugin for Android Studio?
Is Xamarin telling me I'm downloading "Xamrin.Android 4.0.1" when really I'm downloading "Xamarin v4.0.1.?" which contains "Xamarin.Android v6.x.x.x".
My end-game is that I would like to be sure of what versions of Xamarin components are involved when building using MSBuild.
If I need to do a legacy build, I would like the legacy build tool to be used.
Update: I have started tracking versions myself here
Xamarin support got back to me. My understanding is:
The version number in the dropdown seems to be that of the installer that bundles both Xamarin.Android and Xamarin.iOS. It is not the version of Xamarin.Android.
Build tool version: "Xamarin.Android performs the build, so this is what you are looking for."
You can find out roughly what version of "Xamarin.Android" is bundled with "Xamarin" from the "Xamarin" Release Notes. The top line says something like Xamarin 4.0 updates Xamarin.iOS 9.4 and Xamarin.Android 6.0 releases.
More info from Xamarin:
On Windows you cannot download separate installers for Xamarin.iOS and
Xamarin.Android.
The Xamarin.VisualStudio package (also referred to as just "Xamarin")
includes Xamarin.iOS and Xamarin.Android.
E.g., Xamarin 4.0.1.93 contains Xamarin.iOS 9.4.1.24 and
Xamarin.Android 6.0.1.10
The version number you see on the download page refers to the version
number of "Xamarin" - which, as above, includes Xamarin.iOS and
Xamarin.Android. This is the same when you are updating and see
"Xamarin 4.0.1.93" for example.
You need to install "Xamarin" even if you are using Xamarin Studio on
Windows as this includes Xamarin.Android.
and
We do issue separate installers for Xamarin.Android on OS X, so if you are able to use a Mac for your CI (e.g., with something like Jenkins), then this may be more viable.

How To add Flurry SDK to WP7 project?

I have a WP7 project and i want to add Flurry for Analytics and there is no WP7 sdk on there site when i contacted them in support they said " the Flurry WP8 SDK v3.1.2 which is backward compatible with WP7.x apps."
But when tried to add to my app Visual studio said "A reference to higher version or incompatible assembly cannot added to project"
The WP8 SDK isn't backwards-compatible the last I checked - I had to get a specific WP7 SDK .dll file from their support to get it working. I'd contact them again to let them know that it isn't backwards-compatible, and that you need the WP7 SDK.
This dll version is backwards compatible, and the message you are seeing is often an error that has to do with "unblocking" the dll. Could you please verify if you've tried the following steps?
Unzip the dll - right-click on the file
Select Properties, click "Unblock", and then save the change
(Full disclosure: I work at Flurry)

Resources