微软跨平台移动开发

      VS 2015支持C#开发IOS和安卓有两种方式:使用cordova (以前叫做phoneGAP),和xamarin的方式来开发。而两个开发工具并没有集成到VS中去。Cordova开发一些基本的页面应用还行,使用html+css+js的方式进行开发,性能跟不上,做一些简单的公司网站、在线购物、展示介绍、本地应用,还是可以的,适用于性能要求和网络加密要求较低的情况。不适合大型游戏、特绚效果,或者体积比较大的 app开发,好处是简单的做一套页面,可以应用于多个系统,从android到IOS都有了。省时省力。

           使用vs 2015开发cordova的好处

      1、简单,不需要复杂的配置。

      2、开发环境对C#程序员来说熟悉,通用,微软的智能提示和稳定性做的都不错。

           xamarin据说可以开发出来原生态的IOS和安卓的开发,基于mono在安卓上面运行,我想效率可能介于Java sdk开发的系统和Cordova之间,做一般的应用应该问题不大。好处是统一语言,一些逻辑类库可以直接调用。但是坏处是和vs是分离的,如果使用,需要额外付费,官网的一个月一个平台一个开发者需要83$,那么一个小团队3-5个人,开发2个平台来算,一个月的支出大概在600美元左右,还是有一些小的压力。不过可以简化开发者的工作,使用C#开发,减少了语言门槛。而xamarin studio和vs可以集成,不但和vs 2015和vs 2013也可以集成,所以并不是vs 2015新增的功能,只不过一个嘘头而已。

          另外据说vs 2015新带的一些虚拟机还不错。除此之外,对移动开发,好像没什么特别的功能。所以如果要转行做移动开发,建议直接用xamarin或者Cordova,别对vs 2015保有太高的期望。

使用Visual C++ 跨平台移动技术调试JNI Android 应用程序

      使用Visual C++创建跨平台移动应用程序。特别是对于Android平台而言,这项功能的引入使得开发人员能够创建Native-Activity 应用程序,涵盖一系列功能的动态和静态的本地应用程序,提供快速,精确,以及平滑的编辑-〉编译-〉调试开发迭代循环。使用Visual Studio调试器去调试预编译好的,甚至是那些未曾在Visual Studio中编译过的本地android应用程序(Native Activity 和 JNI)。

调试预编译的JNI代码

      使用Native-Audio Android应用程序,它是Android本地开发套件(NDK)的一部分(在这里下载)。如果需要,应用程序的预编译版本和源文件已作为一部分附上。在这种情况下,这个APK文件已经由作为Android SDK Bundle一部分的 Eclipse Android集成环境编译。另外,还需注意,无论你用什么工具来编写本地代码(gcc或clang),只要你能生成APK调试信息(NDK_DEBUG=1和 manifest中的android:debuggable=”true”)。为了调试这个预编译的JNI Android应用程序,我们需要创建一个dummy工程,这个工程允许我们利用VS的部署引擎对预编译的APK部署并开始调试。对于这个Dummy工程,我们使用动态共享库 (Android) 模板建立。 当一个简单的动态共享库(Android)工程创建后,‘配置属性’下的调试属性页就会自动配置(如下图所示)。

wKiom1gkdh_BRxrhAADBtfQEKrs349.png

用户需要填写以下信息:

  • 要启动的包:包含.apk名字的.apk文件的路径(例如C:\DebugAPK\NativeAudio.apk

  • 包名:Android 应用程序的Java包的名字,这个信息可以在‘androidmanifest.xml’文件中找到。(例如:com.example.nativeaudio)。更多信息请看以下例子的配置.

  • 启动活动:启动活动的名字,这个信息可以在‘androidmanifest.xml’文件中找到。(例如:NativeAudio)

启动的活动(如:NativeAudio)和包名(com.example.nativeaudio)都可以从AndroidManifest.xml(如下图)获得,并作为NativeAudio NDK的一部分。

wKioL1gkgE-h3TXWAAGYhf0jatA832.png

      如果不能访问AndroidManifest.xml,可以通过另外一种方法在预编译的.apk文件使用aapt工具获得详细信息。Aapt可以在android-sdk中找到,构建工具目录并执行以下命令将在aapt中得到一个包含包值和活动名的xml树的结果。

aapt dump –values xmltree NativeAudio.apk AndroidManifest.xml

wKiom1gkh-jxyKfhAADeSjNRq7Q658.png

     在调试属性页面中设置manifest详细信息并开始调试本地程序代码。在之后发布的版本中我们计划把这一过程自动化,用户无需在调试属性页面中填写这些信息。而且请注意目前只支持源代码本地部分的调试。为了开始调试需要在配置管理器中设置一些属性。

wKioL1gkgzmh3MKNAABYWdZEyeo349.png

    在配置管理器中进行配置,取消编译项目属性,选择部署属性。一旦选择了部署属性,按F5,之前编译好的.apk将会部署在Device/Emulator上,我们就可以模仿调试了。 

wKiom1gkhCSwHCNUAACbhqls6k0536.png


最后需要做的是在VS中打开需要调试的代码,设置断点开始调试。利用‘添加-〉已有项目’对话框载入代码到你的项目中,并按F5进行调试。

使用Visual Studio进行C++ Android开发的十大理由

    Visual Studio2016: C++跨平台的移动解决方案 Visual Studio正在迅速成为一个跨平台的C++IDE。的目标是让Visual Studio成为您研发C++跨平台代码的选择,无论您的目标是Windows (UWP), Android, iOS, Linux, Xbox, PlayStation, Marmalade 或者更多。在过去一年多的时间里,已经开启了对Android, iOS(预览)等的支持,改进了与流行的跨平台游戏引擎Marmalade的集成,引进了一种新的能提高Windows和非Windows平台之间的代码可移植性的编译工具(Clang/C2)。具体地谈论Android平台,这也是这篇文章真正要讲的,通常使用C++应用于最常见的计算密集型的应用程序,例如:物理模拟。但今天许多应用程序正在使用C++的跨平台的性质来编写他们部分或全部的应用程序。 有很多这种现象的例子,这在更复杂的软件开发公司中尤为常见。特定平台,跨平台,新的流行的应用例如Facebook Moments, Dropbox, Office, Skype, 流行游戏(例如:水果忍者,部落战争,EA Sports Titles)都是用跨平台的C++编写的。用数字来说话,它们中的一大块(约75%)是使用C++。在当今的跨平台世界,如果您想优化快速迭代,应用程序性能,以及本机的外观和感觉。大多数这些顶级开发公司在权衡之后都会选择使用C++在特定的平台代码上来编写他们的UI和共享代码的业务逻辑。 为此,本机Visual Studio的Android体验是在去年2015年初发布,而且我们受到了热烈的欢迎并接到了客户的反馈。为您提供一些亮点,我们的客户包括 Halfbrick Studios (流行游戏的制造商如:水果忍者,Jet Pack Joyride),Electronic Arts, Synergex, Autodesk 以及几乎所有的微软内部的产品,例如 Office, Bing, Minecraft, Hyperlapse 甚至更多。

总结

   了解了如何使用Visual Studio调试预编译好的android应用程序包的一些知识。Visual Studio2016更增加了对linux的开发,已可以开发最新的linux4.前面也以看到andiond的75%是通过c++开发的,在加上使用#c语言的补充,一个跨平台移动开发就完成了