Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
这篇文章主要介绍了 VS2015 Update2 构建 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 中同样存在.
来源: http://www.phperz.com/article/17/1213/352609.html