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

54380人阅读 评论(4) 收藏 举报
分类:

自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
查看评论

关于Visual Studio 2015 professional update3 卡在正在配置您的系统,可能需要一些时间

之前默认安装的vs2015,但是进去没有visual C++,编译c++程序会报错。于是,点击添加visual C++组件,然后进入安装界面,我安装了一晚上,第二天早上来还是“正在配置您的系统,可能需...
  • zhaoyong26
  • zhaoyong26
  • 2018-03-16 08:45:04
  • 207

VS 2015安装卡在Android API19和21级别

http://stackoverflow.com/questions/32587045/visual-studio-2015-installation-hangs-at-android-sdk-set...
  • Chen_cs
  • Chen_cs
  • 2017-01-10 10:22:08
  • 2849

VS 2015跨平台移动开发简单感受

当听到微软开源了.net而且.net能支持安卓和IOS开发后,很是兴奋,不过今天安装测试了一下后,有点失落。基本上没什么创新,搞了一个嘘头而已。VS 2015支持C#开发IOS和安卓有两种方式:使用c...
  • aofengdaxia
  • aofengdaxia
  • 2014-12-12 10:45:15
  • 56253

Visual Studio 2015 C++跨平台移动开发(一) -概览

编者语:相信大家看到这个文章的时候,会是通宵看完了Build 2015第一天的主题演讲,或者是早上看Build 2015的相关消息。但是我相信大家都会为Visual Studio 2015 RC 的发...
  • u014388424
  • u014388424
  • 2015-04-29 19:21:33
  • 6038

在Win10上使用Visual Studio2015的Android模拟器

在Win10上使用Visual Studio2015的Android模拟器
  • liwugang43210
  • liwugang43210
  • 2015-08-16 16:06:10
  • 6185

在vs2015中编译zxing c++

本文我和大家分享一下如何在win10下使用vs2015 c++及opencv3.2.0来编译zxing cpp版本。 平台: 系统:Win10  VisualStudio 2015 (VC++ 14)...
  • haohaojian
  • haohaojian
  • 2017-07-22 14:52:49
  • 1245

【OpenCV3.3】搭建VS2017+Android开发环境

在上一篇 【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境 中我们搭建了OpenCV的Windows开发环境,现在我们来搭建Android的C++开发环境(当前版本直接使用官方...
  • rrrfff
  • rrrfff
  • 2017-08-07 21:36:03
  • 16010

Wow6432Node

64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。 64 位版本 Windows 包含的默认 ...
  • pbymw8iwm
  • pbymw8iwm
  • 2011-11-03 10:29:33
  • 23234

AndroidStudio NDK , VisualStudio NDK

JNI dir; NDK jni.srcDirs = [] jniLibs.srcDirs =['src/main/libs'] mk
  • chinabinlang
  • chinabinlang
  • 2016-02-16 17:56:22
  • 2995

Windows下Android NDK开发的几种方法总结

准备工作: 下载NDK:http://developer.android.com/tools/sdk/ndk/index.html,建议使用最新版的。 一、手动编译 参考《windows下...
  • asmcvc
  • asmcvc
  • 2014-04-25 10:33:05
  • 16667
    最新评论