VS 2015 Update 2 构建 Android 程序遇到的一些问题

本文总结了在使用VS 2015 Update 2构建Android程序时遇到的问题,包括Android SDK、NDK、Apache Ant的下载配置问题,Clang版本不匹配导致的编译错误,以及Microsoft Visual Studio Emulator for Android的网络配置问题。提供了国内镜像地址、手动配置步骤和解决错误的方法。

自VS2015起, Visual Studio开始逐渐内置支持跨平台开发, 并且Visual Studio团队还额外发布了一个编译工具集Clang with Microsoft CodeGen, 方便开发人员进行跨平台代码的开发, 该工具集在VS 2015 Update 2时采用的 Clang 版本号是3.7. 与此同时VS的移动开发能力也不再局限于Windows Phone, 而是支持了包括Android, iOS在内的主流平台的应用开发. 和其它新特性首次被引入一样, 虽然历经了两次Update, 同样难免仍存在一些'BUG', 本文就搭建过程中遇到的一些问题作个小结, 并不定时更新.


1.虽然安装的时候可以勾选Visual C++ Android Development, 但是Visual Studio 2015 with Update 2的离线安装包iso中并未完整包含Android SDK, Android NDK, Apache Ant等套件, 所以需要在线下载, 然而受限于国内的网络环境, 安装完成之后你很可能会收到下载失败的警告, 要是这样的话你就要自己去下载安装包并手动配置, 否则你将会遇到诸如Argument 'sdkLocation' is null or empty; aapt.exe could not be found at '.' 等错误.

这里提供作者使用到的一些国内镜像地址:

http://ubuntu.buct.edu.cn/android/repository/

http://mirrors.neusoft.edu.cn/android/repository/

http://mirrors.hust.edu.cn/apache/ant/binaries/

除了Android SDK的手动安装步骤略繁(必备包括Android SDK Tools, Platform-tools和Build-tools等), 其它基本都是一个zip直接解压就行了. 最后需要在VS2015->Tools->Options->Cross Platform配置下地址, 具体看图:



2.如果安装的时候卡在Java , Android等上好长时间, 大可不必着急Cancel, 用任务栏管理器结束Secondary Installer相关的进程, 然后安装就可以继续而不会影响其他组件的安装, 后面再把需要的相关组件单独安装.
这里作者安装VS2015时卡在Microsoft Visual Studio Emulator for Android,建议跳过这个模块最后去单独下载该模拟器的安装包安装就是了,如果安装该模拟器到最后又失败回滚的话,检查你的电脑是否开启或者支持Hyper-V特性,比如win8 home edition就没有.

3.上述步骤操作完成基本就可以进行 Android 程序编写了, 但是如果你使用C++开发Native-Activity Application, 你可能在 Build 的时候会得到以下类似错误:

TRK0005: Failed to locate: “clang.exe”. The system cannot find the file specified

TRACKER : ���� TRK0005: δ���ҵ�: ��clang.exe����ϵͳ�Ҳ���ָ�����ļ�

这些问题是因为你安装的NDK中并未自带合适的Clang版本导致的, 注意VS2015 with Update 2仅仅内置了对Clang 3.6的支持, 如果你不想去配置工具平台, 那么建议你直接下载android-ndk-r10e-windows-x86.zip这个版本的ndk, 因为android-ndk-r10e之前的版本和之后android-ndk-r11等版本内置的Clang均不是3.6版的. 然后这里还有个细节, 如果你下载的是android-ndk-r10e-windows-x86_64.zip, 那么你还需要把\android-ndk-r10e\toolchains\llvm-3.6\prebuilt\windows-x86_64改名为\android-ndk-r10e\toolchains\llvm-3.6\prebuilt\windows.


4.如果你使用Microsoft Visual Studio Emulator for Android, 并且选择了为模拟器配置网络, 那么你可能会遇到以下错误:

XDE Exit Code: Unknown (-532462766)

unhandled exception. Exception Info: System.Management.ManagementException

上面的错误是从模拟器启动失败的log文件中反映出来的,这是因为Hyper-V的虚拟交换机没有配置好, 并且这时候打开Hyper-V Manager->Virtual Switch Manger...你很可能会收到以下提示

An error occurred while trying to retrieve a list of virtual switches

至于这个error是啥并未深究,解决方法是彻底卸掉Microsoft Visual Studio Emulator for Android和Hyper-V, 重启, 安装Hyper-V(注意全部都要勾选), 重启, 再安装模拟器(并重启?), 这时候就能正常启动模拟器了, 由于windows features的安装基本都需要重启才能完成, 因此不要嫌麻烦跳过重启!

接下来就是用VS2015配合模拟器进行调试了,但是问题还没完.你部署时可能会遇到"Could not locate the Android Debug Bridge (adb.exe).",然后VS的设备列表就突然变成了"no available devices"

看样子是找不到adb.exe,看来仅仅在VS里面配置好Android SDK Path还不够, 搜索了下, 找到以下方案并成功解决:

打开注册表管理器,定位HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK Tools, 修改Path的值为你的SDK路径, 如果没有, 就新建键Android SDK Tools, 然后添加名为Path的字符串值(String Value)

注意no available devices的原因还可能是adb.exe和VS的启动次序问题, 这个在eclipse中同样存在.


参考地址: 

Clang with Microsoft CodeGen in VS 2015 Update 1
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值