vs2015 linux jni,使用Visual C++ 跨平台移动技术调试JNI Android 应用程序
使用Visual C++ 跨平臺移動技術(shù)調(diào)試JNI Android 應(yīng)用程序
02/05/2015
6 分鐘可看完
本文內(nèi)容
[原文發(fā)表時間] 2014/12/12? 4:22PM
之前我們已經(jīng)介紹了,開發(fā)人員能夠在Visual Studio 2015 preview(在這里下載)中使用Visual C++創(chuàng)建跨平臺移動應(yīng)用程序。特別是對于Android平臺而言,這項功能的引入使得開發(fā)人員能夠創(chuàng)建Native-Activity 應(yīng)用程序,涵蓋一系列功能的動態(tài)和靜態(tài)的本地應(yīng)用程序,提供快速,精確,以及平滑的編輯-〉編譯-〉調(diào)試開發(fā)迭代循環(huán)。本博客著重給出如何使用Visual Studio調(diào)試器去調(diào)試預(yù)編譯好的,甚至是那些未曾在Visual Studio中編譯過的本地android應(yīng)用程序(Native Activity 和 JNI)。
調(diào)試預(yù)編譯的JNI代碼
為了證明這個,我們從一個預(yù)編譯的JNI應(yīng)用程序包文件開始。為此,本博客中我們將使用Native-Audio Android應(yīng)用程序,它是Android本地開發(fā)套件(NDK)的一部分(在這里下載)。如果需要,應(yīng)用程序的預(yù)編譯版本和源文件已作為本博客的一部分附上。在這種情況下,這個APK文件已經(jīng)由作為Android SDK Bundle一部分的 Eclipse Android集成環(huán)境編譯。另外,還需注意,無論你用什么工具來編寫本地代碼(gcc或clang),只要你能生成APK調(diào)試信息(NDK_DEBUG=1和
manifest中的android:debuggable=”true”)。就上面說的,讓我們開始吧!
為了調(diào)試這個預(yù)編譯的JNI Android應(yīng)用程序,我們需要創(chuàng)建一個dummy工程,這個工程允許我們利用VS的部署引擎對預(yù)編譯的APK部署并開始調(diào)試。對于這個Dummy工程,我們使用動態(tài)共享庫 (Android) 模板建立。
當(dāng)一個簡單的動態(tài)共享庫(Android)工程創(chuàng)建后,‘配置屬性’下的調(diào)試屬性頁就會自動配置(如下圖所示)。
用戶需要填寫以下信息:
要啟動的包: 包含.apk名字的.apk文件的路徑(例如:C:\DebugAPK\NativeAudio.apk)
包名: Android 應(yīng)用程序的Java包的名字,這個信息可以在‘a(chǎn)ndroidmanifest.xml’文件中找到。(例如:com.example.nativeaudio )。 更多信息請看以下例子的配置。
啟動活動: 啟動活動的名字,這個信息可以在‘a(chǎn)ndroidmanifest.xml’文件中找到。(例如:NativeAudio)
啟動的活動(如:NativeAudio)和包名(com.example.nativeaudio)都可以從AndroidManifest.xml(如下圖)獲得,并作為NativeAudio NDK的一部分。
如果不能訪問AndroidManifest.xml,可以通過另外一種方法在預(yù)編譯的.apk文件使用aapt工具獲得詳細信息。Aapt可以在android-sdk中找到,構(gòu)建工具目錄并執(zhí)行以下命令將在aapt中得到一個包含包值和活動名的xml樹的結(jié)果。
aapt dump --values xmltree NativeAudio.apk AndroidManifest.xml
我們現(xiàn)在在調(diào)試屬性頁面中設(shè)置manifest詳細信息并開始調(diào)試本地程序代碼。在之后發(fā)布的版本中我們計劃把這一過程自動化,用戶無需在調(diào)試屬性頁面中填寫這些信息。而且請注意目前我們只支持源代碼本地部分的調(diào)試。為了開始調(diào)試我們需要在配置管理器中設(shè)置一些屬性。
在配置管理器中進行配置,取消編譯項目屬性,選擇部署屬性。一旦選擇了部署屬性,按F5,之前編譯好的.apk將會部署在Device/Emulator上,我們就可以模仿調(diào)試了。
最后我們需要做的是在VS中打開需要調(diào)試的代碼,設(shè)置斷點開始調(diào)試。利用‘添加-〉已有項目’對話框載入代碼到你的項目中,并按F5進行調(diào)試。
總結(jié)
本博客應(yīng)該讓您了解了如何使用Visual Studio調(diào)試預(yù)編譯好的android應(yīng)用程序包的一些知識。根據(jù)您的反饋,我們將在本博客上更新更深層次的關(guān)鍵功能。如果您希望和我們討論一些特別的話題,請讓我們知道。提醒下,發(fā)布這個Preview版本的目的是收集大家反饋并向大家學(xué)習(xí)。我們正在考慮將來也支持其他平臺,您的反饋對塑造我們的產(chǎn)品的方向是至關(guān)重要的。
分享反饋是很容易的!功能的建議請寫到用戶之聲,提交發(fā)現(xiàn)的缺陷請到我們的網(wǎng)站連接或者在IDE中發(fā)送表情笑臉或者皺眉給我們。您也可以在下面評論。另外,如果您想直接和我們這個主題的產(chǎn)品團隊對話,請發(fā)郵件到(aasthan@microsoft.com)。我們很希望從您那得到更多并和您建立聯(lián)系。
總結(jié)
以上是生活随笔為你收集整理的vs2015 linux jni,使用Visual C++ 跨平台移动技术调试JNI Android 应用程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: abaqus linux 下载64位,S
- 下一篇: linux 其他常用命令