移動跨平臺開發{一}

微軟跨平臺移動開發

      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語言的補充,一個跨平臺移動開發就完成了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章