从安装 Android 环境到成功调试第一个 Android 项目的过程中可能存在一些坑,下面一步一步来:

1. 安装 JDK 8

打开官网找到 Java SE Development Kit 8u101,选择 Accept License Agreement,然后找到 Windows x86 对应大小为 188.32 MB 的 jdk-8u101-windows-i586.exe 点击下载。

另外你也可以把 64 位版本的 jdk-8u101-windows-x64.exe 下载下来以备后用,考虑到兼容性问题所以选择安装 32 位版本的 JDK。

安装 JDK 的时候记住安装目录,打开 VS 菜单 -> 工具 -> 选项 -> Xamarin,设置 Java Development Kit Location 到 JDK 8 的安装目录。

2. 安装 Android SDK

由于 developer.android.com 已被墙,打开百度搜索 android sdk,打开百度快照,找到 Windows android-sdk_r24.4.1-windows.zip No installer(SHA-1 66b6a6433053c152b22bf8cab19c0f3fef4eba49)然后点击下载,为了防止百度快照失效找不到其它工具的下载地址,可以同时把其它包都下载一份以备后用。

Windows installer_r24.4.1-windows.exe SHA-1 f9b59d72413649d31e633207e31f456443e7ea0b

Mac OS X android-sdk_r24.4.1-macosx.zip SHA-1 85a9cccb0b1f9e6f1f616335c5f07107553840cd

Linux android-sdk_r24.4.1-linux.tgz SHA-1 725bb360f0f7d04eaccff5a2d57abdd49061326d

另外可以把 Android Studio 也下载一份

Windows android-studio-bundle-143.2821654-windows.exe Includes Android SDK (recommended) SHA-1 6f7fcdc30800bd8b3fbd5a14c2b9857243144650

Windows android-studio-ide-143.2821654-windows.exe No Android SDK SHA-1 d8cb3968814b6155f4effe727baf23b18b9f8360

Windows android-studio-ide-143.2821654-windows.zip No Android SDK, no installer SHA-1 9bec4905e40f0ac16ac7fde63a50f3fbc1eec4d9

Mac OS X android-studio-ide-143.2821654-mac.dmg SHA-1 4a7ca7532a95c65ee59ed50193c0e976f0272472

Linux android-studio-ide-143.2821654-linux.zip SHA-1 55d69ad2da0068d818718b26ba43550fbcbeb7e9

至少准备 42G 硬盘空间(小容量的 SSD 系统盘就另外找盘吧),将刚才下载的 android-sdk_r24.4.1-windows.zip 复制到这里解压缩,然后执行 android-sdk-windows\SDK Manager.exe,默认会安装 7.0(API 24),注意需要勾选安装 6.0(API 23)。

安装完后打开 VS 菜单 -> 工具 -> 选项 -> Xamarin,设置 Android SDK Location 到刚才解压缩的文件夹 android-sdk-windows。

3. 安装 Hyper-V

打开 控制面板 -> 卸载程序 -> 启动或关闭 Windows 功能,勾选 Hyper-V 然后确定安装。可能需要您的 CPU 支持虚拟化功能,现在的机器一般来说应该问题不大。

Hyper-V 与 VMWare 不能共存,如果安装了 VMWare 就要做好不再使用它的准备,因为反复安装 Hyper-V 会安装一堆多余的虚拟网络设备造成虚拟网络故障,每次都要在设备管理器中清除掉才能重新安装好,比较麻烦。

当然你也可以不卸载 VMWare,使用管理员模式的命令行 禁用或者启用 Hyper-V,不过每次都需要重新启动操作系统才能生效。

比如 Hyper-v\Hyper-v.off.batHyper-v\Hyper-v.auto.bat

bcdedit /set hypervisorlaunchtype off
bcdedit /set hypervisorlaunchtype auto

4. VS 安装 Android 模拟器

如果有更新通知,在 VS 界面右上角有个小旗帜带个小数字,点开安装所有移动应用相关的更新,其中包括 Emulator Android 模拟器。

如果没有更新通知,可能需要在第一次创建移动应用项目的时候弹出更新通知,那么 VS 菜单 -> 文件 -> 新建 -> 项目 -> Visual C# -> Cross-Platform,任选一种 Xamarin.Forms APP(个人推荐 Shared),然后一路确定。

现在假定你已经安装好了 Android 模拟器,如果没有安装好就要自己想办法解决了。

5. 编译 Android 项目

编译刚才创建的 Android(.Droid)项目,在编译的时候 VS 可能会被卡死(具体症状表现为 IDE 没有使用 CPU 也没有使用网络却无法完成编译),因为编译需要下载一个 zip 压缩包,然而这个压缩包可能被墙了。

如果你的 VS 被卡死了,可能需要在任务管理器中手动结束 IDE 进程 devenv.exe,然后重启 VS 重新编译 Android 项目,然后打开输出窗口,可能看到类似以下错误信息:

Reason: C:\Users\用户名\AppData\Local\Xamarin\zips\96659D653BDE0FAEDB818170891F2BB0.zip is not a valid zip file
Unzipping failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r22.zip ...

根据提示打开文件夹 C:\Users\用户名\AppData\Local\Xamarin\zips\ 你会看到一个 0 字节的文件 96659D653BDE0FAEDB818170891F2BB0.zip,然后你需要下载 android_m2repository_r22.zip 并且重命名用来替换这个 0 字节文件。

下载这个文件需要翻墙,你也可以到 QQ群275679001 里面下载,或者在 QQ 上传给你。

关闭 VS 再次重启并编译 Android 项目,由于需要处理刚才下载的压缩包可能需要等上一段时间,有点像刚才卡死的症状,区别在于 IDE 会占用一些 CPU 表明正在工作,然后正常情况下就完成了编译。

6. 调试 Android 项目

需要将 Android 项目设置为启动项目,然后可以看到 VS 的绿色启动按钮变成了可选的模拟 Android 设备,选择启动一个模拟 Android 设备,第一次运行可能会弹出一个确认权限的对话框,第一次启动模拟 Android 设备可能会比较慢。

正常情况下模拟器中的 Android 操作系统启动完以后就会接着安装你调试的 Android 项目并运行。如果没能成功运行说明模拟器环境还有些问题,这时候需要查看 VS 的输出窗口,看看最后的输出是不是下面这种:

Launching emulator...
Emulator launched successfully.

如果是,你可能要将注册表 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Android SDK Tools 的 Path 数据修改为你安装 Android SDK 的目录,比如 C:\Xamarin\android-sdk_r24.4.1-windows\android-sdk-windows\。

如果修改注册表不能解决这个问题,你可能需要在模拟器的 Android 系统中找到 Setting(如果锁界面可能需要鼠标按住界面向上拖动解锁),一般点击 Android 界面下方中间的按钮就能找到 Setting 了。

在 Setting 中点击 Wi-Fi,然后点开连接信息,记下 IP 地址,比如 192.168.115.132,然后返回到主界面。

在 Windows 中建立一个批处理文件然后运行它,正常情况下会在 VS 的输出窗口逐步看到编译与部署成功的信息就说明没问题了。下面的目录需要修改为你安装 Android SDK 的目录,比如

C:\Xamarin\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb connect 192.168.115.132

以后每次启动模拟 Android 设备后都需要使用这个批处理才能调试项目,确实有点麻烦。

如果是下面这种提示

Could not connect to the debugger.

你可以参考 http://stackoverflow.com/questions/32589438/xamarin-android-visual-studio-2015-could-not-connect-to-the-debugger

Disable "Use fast deployment (debug mode only)" in Android project -> Properties -> Android options -> Packaging
Enable "Migrate to a physical computer with a different processor version" in Hyper-V manager go to VM -> Settings -> Processor -> Compatibility

如果不是就需要你自己找原因,我可能帮不到你了。

7. Hello

跟着教程 https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/ 一步一步来,应该不难吧;另外还可以下载示例作为参考。