西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

VS開發(fā)安卓工具(visualgdb)

5.0r2特別版
  • VS開發(fā)安卓工具(visualgdb)5.0r2特別版
  • 軟件大小:9.7M
  • 更新時(shí)間:2015-10-27 11:07
  • 軟件語言:英文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 特別軟件 / 編程工具
  • 軟件等級:4級
  • 應(yīng)用平臺:WinAll, Win7, win8
  • 官方網(wǎng)站:http://sysprogs.com/
  • 應(yīng)用備案:
好評:50%
壞評:50%

軟件介紹

直接使用VS(VisualStdio)對Android,Linux,樹莓派,ARM等進(jìn)行代碼編輯,編譯,調(diào)試 VS的功能之強(qiáng)大,地球人都知道,VisualGDB+Visual Studio。VisualGDB整合了GNU Toolchain(GCC/GDB)進(jìn)Visual Studio。 這樣就可以直接使用Visual Studio開發(fā)和調(diào)試一些基于GNU Toolchain的各平臺應(yīng)用程序。例如:嵌入式程序,Android Native Code,MacOS Driver,Linux Driver, Linux Application等。

VisualGDB是德國一家公司Sysprogs UG開發(fā)的。

gdb調(diào)試工具(VisualGDB)把GDB調(diào)試工具集成到visual studio 開發(fā)環(huán)境中,在調(diào)試過程中,可以使用visual studio原有的單步執(zhí)行、設(shè)定斷定等快捷鍵,還可以在visual GDB session的窗口中輸入GDB的調(diào)試命令,集成了visualGDB之后還可以在程序執(zhí)行的過程中用鼠標(biāo)懸停的方式查看和修改變量的值,這樣在不改變調(diào)試習(xí)慣的同時(shí)還可以使用GDB強(qiáng)大的調(diào)試功能,很不錯(cuò)。

除了調(diào)試windows項(xiàng)目之外,visualGDB還可以在visual studio中調(diào)試android項(xiàng)目,linux項(xiàng)目。只不過調(diào)試linux項(xiàng)目的時(shí)候是通過ssh登陸的方式進(jìn)行遠(yuǎn)程調(diào)試,也就是說基于網(wǎng)絡(luò)的,至少是雙機(jī)。

使用方法

1.安裝VisualGDB-5.0-beta2.msi

2.將VisualGDB.exe覆蓋安裝目錄下的文件,安裝路徑默認(rèn)為C:\\Program Files\\Sysprogs\\VisualGDB 

安裝教程:

目前已知的VisualGDB免費(fèi)版最新版是VisualGDB-5.0-beta2,具體的話可以簡介的百度云中下載;

點(diǎn)擊并安裝 VisualGDB-5.0-beta2.msi

選擇正確的版本的Visual Studio,,如下圖所示,我當(dāng)前選擇的是Visual Studio 2013

安裝完后用"VisualGDB.exe"替換掉安裝目錄下面的VisualGDB.exe,如我的完整的路徑是"D:\Program Files (x86)\Sysprogs\VisualGDB\VisualGDB.exe",具體的如下圖所示:

打開Visual Studio 2013,便可以開始新建一個(gè)Android Project,具體的效果如下:

雖然界面上顯示的是jdk32位的,但是實(shí)際上都用64位的版本的也是可以的,效果如下圖所示:

可以新建一個(gè) App 試試:

調(diào)試效果如下圖所示:

當(dāng)然可以導(dǎo)入一個(gè)已經(jīng)存在的eclipse工程,效果如下:

java環(huán)境配置:

1. 配置JDK

打開【我的電腦】屬性-【高級系統(tǒng)設(shè)置】-【環(huán)境變量】如下圖:

1) 第一“JAVA_HOME:JAVA_HOME的內(nèi)容是jdk安裝目錄。如小編安裝的位置C:\Program Files (x86)\Java\jdk1.7.0_60,并且后邊不帶分號,如下圖:

2) 第二,檢查CLASSPATH,這是一個(gè)jar包的調(diào)用。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有點(diǎn)號和分號,后邊結(jié)尾也有分號。或者可以寫成“.;%JAVA_HOME%\lib”如圖所示,一樣的效果。如下圖:

3) 第三檢查“PATH"變量是否正確,PATH變量很簡單,就是jdk的bin目錄的意思。%JAVA_HOME%\bin;

4) 安裝了JDK的話,正常CMD下輸入JAVAC時(shí)一定可以成功的。就會(huì)有如下信息提示

VisualGDB 初體驗(yàn):

2.1:創(chuàng)建一個(gè)帶有NativeC庫的Android APP。

File -> New -> Project ->VistualGDB -> Android Project Wizard

選擇Create a New App with a simple native library.

則會(huì)創(chuàng)建一個(gè)VS工程,這個(gè)工程包含Java文件和NativeC文件. C文件中包含JNI接口.

可以在C/C++ 程序中添加斷點(diǎn)調(diào)試.

2.2: 使用VisualGDB和Net ADB調(diào)試程序:

如果Android設(shè)備使用USB線和開發(fā)機(jī)連接,則使用VisualGDB直接可以調(diào)試之。 GDBServer也由VisualGDB從NDK中Push到遠(yuǎn)端機(jī)器上。 

但Sam在機(jī)頂盒項(xiàng)目中,使用網(wǎng)絡(luò)ADB而非USB connect ADB. 測試了一下,在adt-bundle-windows-x86_64-xxxx\sdk\platform-tools 目錄下,利用adb 連接遠(yuǎn)端設(shè)備。

$adb.exe connect 10.0.0.7:5555

然后使用VisualGDB調(diào)試,則它會(huì)自動(dòng)找到遠(yuǎn)端設(shè)備并正常調(diào)試。贊一個(gè)。

2.3: 創(chuàng)建一個(gè)純NativeC 可執(zhí)行文件并調(diào)試:

選中Create a command-line Android executable.

其實(shí)這個(gè)就是常作的Android Native C 可執(zhí)行程序。

可以正常加斷點(diǎn),Debug。

其它還可以Clone NDK的例子程序,打開Eclipse 工程的程序等都可以正常使用。

VisualGDB 進(jìn)階:

在實(shí)際工作中,工程常是以下幾種情況,

NativeC可執(zhí)行程序依賴于 NativeC 動(dòng)態(tài)或靜態(tài)庫。

Android App使用JNI調(diào)用NativeC的動(dòng)態(tài)庫,這個(gè)動(dòng)態(tài)庫又依賴于其它NativeC動(dòng)態(tài)庫。

現(xiàn)就這兩種情況使用VisualGDB調(diào)試的情況嘗試一下。

3.1:NativeC可執(zhí)行程序調(diào)用NativeC 動(dòng)態(tài)庫。

以Sam一個(gè)工程: V4L2_Utils為例。它由V4L2_Utils.cpp聲成一個(gè)動(dòng)態(tài)庫。最終被Main.cpp所使用。

3.1.1:嘗試一:

創(chuàng)建了一個(gè)Native C可執(zhí)行程序,注意,在Automatic Android.mk updating: 中選擇:

The JNI folder contains multiple libraries or conditional stantements. You will have to edit android.mk manually.

也就是說,JNI目錄內(nèi)的文件,不要自動(dòng)加入Android.mk中編譯,如果需要,我們手動(dòng)加入。

1. 修改Application.mk為Sam常用模式。

# Build both ARMv5TE and ARMv7-A machine code.

APP_PLATFORM = android-8

APP_ABI := armeabi-v7a

#APP_ABI := $(ARM_ARCH)

#Sam modify it to release

#APP_OPTIM := release

APP_OPTIM := debug

#APP_OPTIM = $(MY_OPTIM)

APP_CPPFLAGS += -fexceptions

APP_CPPFLAGS += -frtti

#sam modify it from gnustl_static to gnustl_shared

#APP_STL := gnustl_static

#APP_STL := gnustl_shared

APP_STL := gnustl_shared

#APP_CPPFLAGS += -fno-rtti

#

APP_CPPFLAGS += -Dlinux -fsigned-char

APP_CFLAGS += -fsigned-char

2. 把V4L2_utils.cpp, V4L2_Utils.h放到j(luò)ni目錄中。但不加入到工程中(否則會(huì)自動(dòng)加入編譯)

3. 修改Android.mk

# Generated by VisualGDB

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := TestNDK

LOCAL_ARM_MODE := arm

#VisualGDBAndroid: AutoUpdateSourcesInNextLine

LOCAL_SRC_FILES := TestNDK.cpp

LOCAL_C_INCLUDES :=

LOCAL_STATIC_LIBRARIES :=

LOCAL_SHARED_LIBRARIES :=

LOCAL_LDLIBS :=

LOCAL_CFLAGS :=

LOCAL_CPPFLAGS :=

LOCAL_LDFLAGS := 

COMMON_SRC_FILES := $(LOCAL_SRC_FILES)

LOCAL_STATIC_LIBRARIES := Camera_V4L2

include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_ARM_MODE := arm

LOCAL_MODULE := Camera_V4L2

LOCAL_SRC_FILES := v4l2_util.cpp

LOCAL_CXXFLAGS := -D_GLIBCXX_USE_WCHAR_T -I./

LOCAL_LDLIBS := -llog 

include $(BUILD_SHARED_LIBRARY)

編譯,果然生成libCamera_V4L2.so , 和TestNDK. 但這個(gè)辦法顯然不是好辦法。

因?yàn)檎{(diào)試時(shí),只能調(diào)試主程序:TestNDK.cpp。 而無法調(diào)試動(dòng)態(tài)庫。且debug時(shí),VisualGDB甚至不會(huì)自動(dòng)把動(dòng)態(tài)庫push到開發(fā)板上。

3.1.2:嘗試二:

建立兩個(gè)工程,其中一個(gè)工程是Main.cpp生成可執(zhí)行程序。

另一個(gè)工程是V4L2_Utils.cpp生成 動(dòng)態(tài)庫。

利用Vs工程的依賴方法讓第一個(gè)工程依賴于第二個(gè)。

編譯,一切正常。但可悲的是,visualGDB 還是不會(huì)自動(dòng)把動(dòng)態(tài)庫push上去。 且它竟然沒法export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./

導(dǎo)致無法調(diào)試。

這兩個(gè)嘗試其實(shí)都是失敗的。難道VisualGDB只適合調(diào)試JNI下的NativeC庫?

嘗試三:

干脆把V4L2_Utils.cpp加入工程一。則不再生成動(dòng)態(tài)庫,直接合并入可執(zhí)行文件中。這樣則可以調(diào)試。

但這顯然不是個(gè)好辦法。無法滿足真正的項(xiàng)目調(diào)試。

系統(tǒng)支持:

Microsoft Windows (incl. x64) 10/8.1/8/7/2008/Vista/2003/XP

Visual Studio 2015, 2013, 2012, 2010, 2008 or 2005

不支持Express Editions系統(tǒng)

其他版本下載

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評論 > 字?jǐn)?shù): 0/500

TOP
軟件下載