使用 Xamarin 开始使用 Android 的调试/模拟器 [英] Debug/Emulator getting started with Android using Xamarin

查看:76
本文介绍了使用 Xamarin 开始使用 Android 的调试/模拟器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用VS2015/Windows 10,我创建了一个Blank App (Portable) 并将启动项目设置为Droid.默认情况下我只有一个模拟器,所以我使用带有 HAXM 的 AVD 创建了一个 Galaxy Nexus/API 23/Intel Atom x86.

我无法让这个空白项目在任一模拟器上运行.当我点击调试时,它会通过动作并启动模拟器,但没有任何反应.如果我在创建项目后第一次运行任何项目,我会收到以下错误:

<块引用>

System.MissingMethodException:方法未找到Android.Support.V4.Widget.DrawerLayout.AddDrawerListener".

看看你的警告,我认为它会在你卸载 API 25 后消失,不知道为什么要安装它,除非你可能已经安装了 Android Studio?

此外,如果您的目标是 API 24+,则必须安装 Java JDK 1.8.除非您需要使用以前的版本,否则我建议删除 1.7.Xamarin.Android 7.0 的发行说明也有更多信息:https://developer.xamarin.com/releases/android/xamarin.android_7/xamarin.android_7.0/

注意:Xamarin.Android 7.0 需要 JDK 1.8 才能使用 Android Nougat (API 24) API.如果面向较早的 Android API 级别,您可以继续使用较早版本的 JDK:

JDK 1.8 - 最高 API 24+ JDK 1.7 - 最高 API 23 JDK 1.6 - 最高 API 20 此外,在 Android 设计器中使用自定义控件需要 64 位版本的 JDK.

我在这里写了一篇关于设置的大博客:http://motzcod.es/post/150380059392/preparing-machines-for-xamarin-cycle 如果配置不正确.

此时尝试做一个新项目,它会正确地重新下载所有 NuGet 等.

至于 System.ObjectModel 警告,您可以将其从 References 中删除,并且不需要它.

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.

这篇关于使用 Xamarin 开始使用 Android 的调试/模拟器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆