How to change default target Android API? - xamarin

When I create a new Xamarin Android Application in Visual Studio for Mac, it uses the Automatic Target Android version of API10. Havoc ensues shortly after creating the project as Nuget packages such as Xamarin.Android.Support.v4 23.1.1 fail to install. How do I change the "Automatic" version used in the project template?
For example: In Visual Studio (Mac) I go File > New Project > Android App > Modern Development (API 16) > Create. When the project is created, I right click the project > Android Application. The Minimum Android version is API 16 but the Target Android version is 10. I want the Target to be the latest Android API installed (API 25). How do I do that?

Related

How to create xamarin android project targeting specific android version?

How to create android project targeting specific android version e.g. v5.0?
it seems when creating new project it is auto picking latest installed target sdk version
it seems they forgot to add those options
This is a part of Android manifest that is available as part of the project properties.

Flutter android studio in mac showing Please configure Android SDK in Logcat

I'm using mac os Mojave and android studio for flutter. whenever I create a new Flutter project in the android studio, it is showing that please configure Android SDK. Android SDK is already configured and flutter doctor checked it successfully. I invalidate the cache and restarted the android studio but nothing worked for me. I configured flutter using official flutter website
I had the same problem, the solution as follows :
Open a Flutter project in Android Studio.
Click on File -> Project Structure.
Select the Project tab, under Project Settings.
At the main screen, we should see No SDK in red under the Project SDK section.
Click on the dropdown menu and select an API version installed. Example: Android API 30 platform.
Click OK.
Restart Android Studio (I prefer to restart your mac)

Debug/Emulator getting started with Android using Xamarin

Using VS2015/Windows 10, I created a Blank App (Portable) and set the startup project to Droid. I had only one emulator by default, so I created a Galaxy Nexus/API 23/Intel Atom x86 using the AVD with HAXM.
I can't get this blank project to run on either emulator. When I hit debug, it goes through the motions and starts the emulator but nothing happens. If I run any project beyond the first time after I created a project I get the following error:
System.MissingMethodException: Method
'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found.
http://imgur.com/a/hZNUQ
Frame not in module http://imgur.com/a/KtsRD
This is what I have installed: http://imgur.com/a/iL7Wt
I have installed all the latest updates, the SDK's etc. I would simply like to get started and emulate a HelloWorld app.
UPDATE: still have the issues, here is some more information to track issue.
Microsoft Visual Studio Professional 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01586
Microsoft .NET Core Tools (Preview 2) 14.1.21111.0
Microsoft .NET Core Tools (Preview 2)
Xamarin 4.2.1.64 (872717c)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Inspector Support 1.0.0.0 (1f3067d)
Adds support for inspecting Xamarin and WPF apps.
Xamarin.Android 7.0.2.37 (ce955cc)
Visual Studio extension to enable development for Xamarin.Android.
Xamarin.iOS 10.2.1.5 (44931ae)
Visual Studio extension to enable development for Xamarin.iOS.
Installed Android SDKS:
Android SDK Tools 25.2.3
Android SDK Platform-tools 25.0.1
Android SDK Build-tools 23.0.2, 23.0.1, 22.0.1, 21.1.2
, 19.1
Android 7.1.1 (API 25) - SDK Platform, Google API's Intel x86 ATOM
Android 7.0 (API 24) - SDK Platform, Google API's Intel x86 ATOM
Android 6.0 (API 23) - SDK Platform, Google API's Intel x86 ATOM
Android 5.1.1 (API 22) - SDK Platform, Google API's Intel x86 ATOM
Android 5.0.1 (API 21) - SDK Platform, Google API's Intel x86 ATOM
Android 4.4.1 (API 19) - SDK Platform, Google API's Intel x86 ATOM
http://imgur.com/a/vZZmf
Reproduction steps
1) Create a new Blank PCL project, targetted .NET Framework 4.5
2) Right off the bat I have the following 4 Warning messages
Warning IDE0006 Error encountered while loading the project. Some project features, such as full solution analysis for the failed project and projects that depend on it, have been disabled. App5.Droid 1 Active
Warning The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'App5, Version=, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'App5.dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly(String fileName)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(ICollection1 jars, ICollection1 resolvedResourceDirectories, ICollection1 resolvedAssetDirectories, ICollection1 resolvedEnvironments)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() App5.Droid
Warning Type universe cannot resolve assembly: System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. App5.UWP
Warning Cannot resolve Assembly or Windows Metadata file 'System.Runtime.dll' App5.UWP D:\Visual Studio 2015\Projects\App5\App5\App5.UWP\App5.UWP.csproj
http://imgur.com/a/EwIQY
3) Right click on the Droid project - properties
Compile using: Use Latest Platform (Android 7.0 Nougat)
Min Android: Android 4.0.3 (API level 15 - Ice Cream Sandwich)
Target Android version: Use compile SDK version
http://imgur.com/a/yZyAv
4) Set startup project as Droid, RUN using AVD_GalaxyNexus_ToolsForApacheCordova (Android 4.4 - API 19)
5) Pop-up message: Running an x86 based Android Virtual Device is 10x faster. We strongly recommend creating a new AVD. Clicked OK
6) Android Emulator Starts. VS15 message bar: 'Deploying AVD' for a long time....then 'Ready' orange bar. Few more minutes and new pop-up opens: 'Find Source: NavigationPageRenderer.cs' ...not sure where this file is/what this file is supposed to be.
http://imgur.com/a/DVYjJ
7) When I click cancel, I get the error message:
System.MissingMethodException: Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found.
http://imgur.com/a/KGvEG
Reproduced same issue on multiple machines
Update: So I just reproduced your issue and I am sorry that you and other ran into this. It looks like there was an issue in the templates and I am working with the team to quickly resolve this.
To fix:
Simply right click on the android project and select "Manage Nuget Packages"
Go to Updates
Find Xamarin.Android.Support.v7.AppCompat
Select version 23.3.0 from the version picker and hit Install
You additionally will need to install the RecyclerView 23.3.0 NuGet Package. Go to Browse and search for: Xamarin.Android.Support.v7.RecyclerView and make sure to pick 23.3.0 to install for the correct version
Now do a full clean/rebuild and it should work
This should install the correct versions of everything you need for Android
So, it looks like you are attempting to create a Blank Xamarin.Forms application, not a traditional Xamarin application.
My first recommendation is to try to just create a blank Android application with Xamarin. This will have very little dependencies and you can see if it starts to deploy out of the box.
Looking at your Installed Android SDKs, I would recommend Uninstalling anything Under Android 7.1.1 (API 25) as it is not supported yet and may be causing issues downloading NuGet packages.
Here is what mine looks like as of today:
Looking at your Warnings I think it will go away once you uninstall API 25, not sure why that is getting installed unless you maybe already installed Android Studio?
Also, if you are targting API 24+ you'll have to install the Java JDK 1.8. I would suggest removing 1.7 unless you need to use previous versions. The release notes for Xamarin.Android 7.0 have more information as well: https://developer.xamarin.com/releases/android/xamarin.android_7/xamarin.android_7.0/
Note: Xamarin.Android 7.0 requires JDK 1.8 to use the Android Nougat (API 24) APIs. You can continue to use earlier versions of the JDK if targeting earlier Android API levels:
JDK 1.8 - up to API 24+ JDK 1.7 - up to API 23 JDK 1.6 - up to API 20 Additionally, a 64-bit version of the JDK is required to use custom controls in the Android designer.
I wrote a big blog on setup here: http://motzcod.es/post/150380059392/preparing-machines-for-xamarin-cycle if things aren't configure properly.
Try to do a New project at this point and it will re-download all the NuGets and such properly.
As for System.ObjectModel warning, you can remove it from the References and it shouldn't be needed.

Unable to see list of emulator devices for Xamarin Android in VS 2015

I am using VS 2015 enterprise update 3. After fresh installation, I created a new project--> cross platform tools--> Blank Xaml App(Xamarin.Forms Portable). then made Andriod project is default project from Solution explorer.
Tried select a device but none is available, altough when i open SDK Manager i can see 3 devices.
Andriod error
List of devices
Did you setup your android project as your startup project?
Werid because in your screenshot it shows your portable project as your startup project. This is how it looks like when i debug my android project.

VST for Cordova only support API Level 19?

The requirements for the Visual Studio Tools for Apache Cordova specify that SDK for the API Level 19 must be installed. Do that means that apps created with it will only run on android KitKat devices? Any way to target older devices?
Please review the following article for reference:
https://msdn.microsoft.com/en-us/library/dn757054.aspx
Cordova targets a single SDK (currently 19 though a upcoming release will move this to 21). However this is just the SDK used to build - by default Cordova apps can be deployed on devices running API level 10 or higher (2.3.3). Unless you're creating a custom plugin that will use an API only available on Android 5.0, you won't be affected by the SDK used.
The Android tab on the config.xml designer allows you to set alternate values for what goes in "AndroidManifest.xml" file, but the build itself will always use SDK 19.
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
Android 4.4.x (API level 19) is required by Visual Studio to build app or create app package targeting Android platform not for running the app. You can create Cordova app targeting device running Android released before KitKat.

Resources