日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Android C++開發(fā)環(huán)境搭建

 quasiceo 2016-12-11

Android C++開發(fā)環(huán)境搭建

Android 開發(fā)環(huán)境搭建

安裝JDK

  • 首先找到本地JDK安裝包jdk-7-windows-i586.exe,或者到甲骨文公司的官方網(wǎng)站下載JDK的安裝包,根據(jù)自己電腦的操作系統(tǒng)選擇正確的版本下載。下載還的安裝包如下圖所示。

  • 用鼠標(biāo)左鍵雙擊JDK安裝包,會(huì)出現(xiàn)下圖所示的安裝界面。

 

  • 點(diǎn)擊“下一步”出現(xiàn)下圖所示的自定義安裝界面。

  • 可以根據(jù)需要選擇不同的安裝路徑和安裝內(nèi)容。這里我們保持默認(rèn)選擇。點(diǎn)擊“下一步”出現(xiàn)下圖所示的“正在安裝”界面。

  • 等待進(jìn)度條到100%的時(shí)候,又會(huì)跳出“自定義安裝”界面,這個(gè)時(shí)候要安裝的是語言支持插件。直接點(diǎn)擊下一步。

JDK的環(huán)境變量配置 

  • 完成了第一步,只是把JDK環(huán)境安裝完成了。這個(gè)時(shí)候還要通過一系列的環(huán)境變量的配置才能使用JDK環(huán)境進(jìn)行JAVA開發(fā)。配置環(huán)境變量包括java_home,path和classpath三個(gè)部分。用鼠標(biāo)右擊“我的電腦”,選擇“屬性”->“高級(jí)”->“環(huán)境變量”->“系統(tǒng)變量”->“新建”。

  • 在“變量名”輸入框中寫入“java_home”,在“變量值”輸入框中寫入“C:\Program Files\Java\jdk1.7.0” (根據(jù)安裝路徑填寫),然后點(diǎn)擊“確定”,java_home就設(shè)置完成了。

  • 下面開始“classpath”的配置。選中“系統(tǒng)變量”查看是否有classpath項(xiàng)目,如果沒有就點(diǎn)擊“新建”,如果已經(jīng)存在就選中classpath選項(xiàng),點(diǎn)擊“編輯”按鈕,然后在“變量名”中填寫“classpath”,在“變量值”中填寫“C:\Program Files\Java\jdk1.7.0\jre\lib”(根據(jù)安裝路徑填寫)。

  • 現(xiàn)在可以進(jìn)行“path”的配置了。同上在“classpath”設(shè)定時(shí)類似,“變量名”輸入框填寫“path”,“變量值”輸入框填寫“C:\Program Files\Java\jdk1.7.0\bin”(根據(jù)安裝路徑填寫)。

  • JDK的環(huán)境變量已經(jīng)配置完成,可以通過打開命令提示符窗口,輸入命令“java -version”, 看到Java版本的信息,來確定安裝是否成功。首先點(diǎn)擊“開始”,然后點(diǎn)擊“運(yùn)行”。

  • JDK版本信息就全部顯示出來了,也表面JDK已經(jīng)安裝和配置完成,可以開始進(jìn)行JAVA開發(fā)了。

安裝 Eclipse

  • 建議直接使用Eclipse壓縮包,解壓即可運(yùn)行。或者可以選擇重新安裝,下載地址:http://www./downloads/

SDK 4.0安裝

  安裝方法可以參考http://wenku.baidu.com/view/2b2aa341b307e87101f6960a.html

直接解壓android-sdk.rar壓縮包安裝,或者到http://developer./sdk/index.html下載的android-sdk。

解壓后打開SDK Manager.exe可以看到如下的界面;

左側(cè)是我們要安裝的SDK目錄,如果你的網(wǎng)絡(luò)夠快而且空間不是特別少的話,選擇Accept All,然后Install,開始漫長的在線安裝,之后出現(xiàn)下面界面:

這樣SDK的安裝已經(jīng)基本完成,由于在tools目錄下有許多我們?cè)诿钚邢聢?zhí)行的命令,我們要進(jìn)行環(huán)境變量的添加,就是在Path中添加我們的tools目錄:

Eclipse中安裝配置ADT(Android Development Tools)插件

  • 啟動(dòng)Eclipse后,選擇Help->Install New Software

  • 然后添加ADT plus-in網(wǎng)址:https://dl-ssl.google.com/android/eclipse/,然后選擇并安裝Android DDMS(Android Dalvik Debug Moniter Server)和Android Development Tools(ADT),選擇下一步。(需要用到 WST common core 組件,所以在安裝ADT前一定要先安裝,這個(gè)可以用  Install New Software http://download./releases/galileo  找到目前國內(nèi)的可能需要用到代理才可以安裝, 設(shè)置IE的連接代理服務(wù)器,就可以)

下載完成后點(diǎn)擊I accept the terms of the license ,之后點(diǎn)擊Finish進(jìn)行安裝

重新啟動(dòng)Eclipse, 重啟之后我們會(huì)發(fā)現(xiàn)Eclipse工具欄中多了

一些東西這就是我們安裝插件的效果。此時(shí)如果點(diǎn)擊模擬器(向下箭頭的按鈕)的按鈕的話,會(huì)報(bào)錯(cuò),因?yàn)槲覀冞€沒有對(duì)模擬器進(jìn)行配置。配置方法:Windows-->Preferences-->Android,在SDK Location中添加最早解壓出來的那個(gè)壓縮包的路徑android-sdk-windows:

隨后OK。此時(shí)再點(diǎn)擊模擬器的按鈕則會(huì)出現(xiàn)配置界面。選在New就可以新建一個(gè)新的Android模擬器,因?yàn)槭謾C(jī)版本不同,版本提供的服務(wù)也不同,所以要建立多個(gè)模擬器來測試:

 

 

然后Create AVD就可以了。隨后選中模擬器的版本,點(diǎn)擊Start就會(huì)出現(xiàn)模擬出來的手機(jī)界面了:

 

在eclipse中集成c/c++開發(fā)環(huán)境,安裝CDT

注意 :自己下載的CDT組件可能配置不完整,建議采用eclipse提供的C++開發(fā)方案里面的 CDT,然后把該方案里面所有CDT的 features和plugins復(fù)制出來我用的是http://www./downloads/packages/eclipse-ide-cc-developers/heliossr2  下載后,直接解壓,然后運(yùn)行一下里面的eclipse,創(chuàng)建一個(gè) C++項(xiàng)目看能不能編譯成功,如果能就沒問題。然后把features和plugins 目錄下跟CDT有關(guān)的文件和目錄復(fù)制到裝有android開發(fā)環(huán)境的eclipse 的 features和plugins目錄下也可以采用那個(gè)自己下載CDT插件來安裝,不過可能造成配置錯(cuò)誤,后面無法debug。

  • 裝Eclipse的C/C++環(huán)境插件:CDT,這里選擇在線安裝,首先登錄http://www./cdt/downloads.php,找到對(duì)應(yīng)你Eclipse版本的CDT插件的在線安裝地址。如我這里的Eclipse 的版本是3.7 Eclipse Indigo
  • 進(jìn)入http://www./cdt/downloads.php 。選擇和自己安裝的 Eclipse 匹配的 CDT 插件版本。如我這里的Eclipse 的版本是“3.7 Eclipse Indigo”,所以選擇的是 CDT 8.0.2 for Eclipse Indigo,點(diǎn)擊http://www./downloads/download.php?file=/tools/cdt/releases/indigo/dist/cdt-master-8.0.2.zip 鏈接進(jìn)入相關(guān)頁面下載。
  • 將cdt解壓,有兩個(gè)文件夾:features和plusins,把文件夾中的東東拷到eclipse對(duì)應(yīng)的目錄中。
  • 重啟 Eclipse,發(fā)現(xiàn) C/C++ Development 出現(xiàn),證實(shí)安裝成功。

下載安裝NDK

參考資料

l  Android NDK

l  Android NDK 是什么

  • 本地環(huán)境里面已經(jīng)下載NDK,可以直接使用,或者下載后解壓到一個(gè)目錄,目錄可以隨便當(dāng)在哪里。

下載安裝cygwin

    由于NDK編譯代碼時(shí)必須要用到make和gcc,所以你必須先搭建一個(gè)linux環(huán)境, cygwin是一個(gè)在windows平臺(tái)上運(yùn)行的unix模擬環(huán)境,它對(duì)于學(xué)習(xí)unix/linux操作環(huán)境,或者從unix到windows的應(yīng)用程序移植,非常有用。通過它,你就可以在不安裝linux的情況下使用NDK來編譯C、C++代碼了。下面我們一步一步的安裝cygwin吧。

  • 首先,你得先跑到http://www.下載setup.exe
  • 然后雙擊運(yùn)行吧,運(yùn)行后你將看到安裝向?qū)Ы缑妫?/li>

 

  • 點(diǎn)擊下一步

  • 此時(shí)讓你選擇安裝方式:

           1)Install from Internet:直接從Internet上下載并立即安裝(安裝完成后,下載好的安裝文件并不會(huì)被刪除,而是仍然被保留,以便下次再安裝)。

           2)Download Without Installing:只是將安裝文件下載到本地,但暫時(shí)不安裝。

           3)Install from Local Directory:不下載安裝文件,直接從本地某個(gè)含有安裝文件的目錄進(jìn)行安裝。

l  以install方式下載整個(gè)cygwin的話,大小大概在1.7G左右,所以注定這是一個(gè)比較漫長的過程。特別是不能采用我們平時(shí)的下載工具,并且服務(wù)器在國外,更加劇了耗時(shí)的長度,請(qǐng)從第三步開始;

l  以Install From Local Directory方式,下載Cygwin包,選擇安裝的目錄(如果已經(jīng)有了CygWin安裝包,強(qiáng)烈建議用這種方法);請(qǐng)從第七步開始。

  • 選擇第一項(xiàng),然后點(diǎn)擊下一步:

  • 選擇要安裝的目錄,注意,最好不要放到有中文和空格的目錄里,似乎會(huì)造成安裝出問題,其它選項(xiàng)不用變,之后點(diǎn)下一步:

 

5.     上一步是選擇安裝cygwin的目錄,這個(gè)是選擇你下載的安裝包所在的目錄,默認(rèn)是你運(yùn)行setup.exe的目 錄,直接點(diǎn)下一步就可以:

 

6.     此時(shí)你共有三種連接方式選擇:

     1) Direct Connection:直接連接。

     2) Use IE5 Settings:使用IE的連接參數(shù)設(shè)置進(jìn)行連接。

     3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服務(wù)器進(jìn)行連接(需要輸入服務(wù)器地址、端口號(hào))。

          用戶可根據(jù)自己的網(wǎng)絡(luò)連接的實(shí)情情況進(jìn)行選擇,一般正常情況下,均選擇第一種,也就是直接連接方式。然后再點(diǎn)擊“下一步”;

 

7.      這是選擇要下載的站點(diǎn),我用的是http://mirrors.163.com/,速度感覺還挺快,選擇后點(diǎn)下一步。

8.      此時(shí)會(huì)下載加載安裝包列表

9.     建議全部安裝所有包,不然在以后編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤,或者安裝開發(fā)NDK所需的文件包。Search是可以輸入你要下載的包的名稱,能夠快速篩選出你要下載的包。那四個(gè)單選按鈕是選擇下邊樹的樣式,默認(rèn)就行,不用動(dòng)。View默認(rèn)是Category,建議改成full顯示全部包再查,省的一些包被隱藏掉。左下角那個(gè)復(fù)選框是是否隱藏過期包,默認(rèn)打鉤,不用管它就行,下邊開始下載我們要安裝的包吧,為了避免全部下載,這里列出了后面開發(fā)NDK用得著的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12個(gè)包。

10.  然后開始選擇安裝這些包吧,點(diǎn)skip,把它變成數(shù)字版本格式,要確保Bin項(xiàng)變成叉號(hào),而Src項(xiàng)是源碼,這個(gè)就沒必要選了。

11.  下面測試一下cygwin是不是已經(jīng)安裝好了。

運(yùn)行cygwin,在彈出的命令行窗口輸入:cygcheck -c cygwin命令,會(huì)打印出當(dāng)前cygwin的版本和運(yùn)行狀 態(tài),如果status是ok的話,則cygwin運(yùn)行正常。

然后依次輸入gcc --version,g++ --version,make –version,gdb –version進(jìn)行測試(或,輸入make -v 和 gcc -v ),如果都打印出版本信息和一些描述信息,非常高興的告訴你,你的cygwin安裝完成了!

配置NDK環(huán)境變量

  • 首先找到cygwin的安裝目錄,找到一個(gè)home\<你的用戶名>\.bash_profile文件,例如我的是:C:\cygwin\home\Administrator\.bash_profile,(注意:我安裝的時(shí)候我的home文件夾下面神馬都沒有,解決的辦法:首先打開環(huán)境變量,把里面的用戶變量中的HOME變量刪掉,在E:\cygwin\home文件夾下建立名為Administrator的文件夾(是用戶名),然后把E:\cygwin\etc\skel\.bash_profile拷貝到該文件夾下)。
  • 打開bash_profile文件,添加NDK=/cygdrive/<你的盤符>/<android ndk 目錄> 例 如:

                   NDK=/cygdrive/e/android-ndk-r5

                   export NDK

                   NDK這個(gè)名字是隨便取的,為了方面以后使用方便,選個(gè)簡短的名字,然后保存

                 PATH=$PATH:$NDK  //記得設(shè)置路徑參數(shù)

  • 打開cygwin,輸入cd $NDK,如果輸出上面配置的/cygdrive/e/android-ndk-r5信息,則表明環(huán)境變量設(shè)置成功了。

 

測試用NDK來編譯程序 

  • 現(xiàn)在我們用安裝好的NDK來編譯一個(gè)簡單的程序吧,我們選擇ndk自帶的例子hello-jni,我的位于D:\android\ndk-r5\samples\hello-jni(根據(jù)你具體的安裝位置而定),運(yùn)行cygwin,輸入命令cd /cygdrive/d/android/ndk-r5/samples/hello-jni,進(jìn)入到d:\android\ndk-r5\samples\hello-jni目錄。

  • 輸入$NDK/ndk-build,執(zhí)行成功后,它會(huì)自動(dòng)生成一個(gè)libs目錄,把編譯生成的.so文件放在里面。 ($NDK是調(diào)用我們之前配置好的環(huán)境變量,ndk-build是調(diào)用ndk的編譯程序)

  • 此時(shí)去hello-jni的libs目錄下看有沒有生成的.so文件,如果有,你的ndk就運(yùn)行正常啦!

配置C/C++的編譯器

  1. 打開 eclipse ,新建一個(gè)項(xiàng)目,采用用已經(jīng)存在的源碼創(chuàng)建,不然后選ndk自帶的hello-jni例子來測試
  2. 選擇項(xiàng)目的右鍵點(diǎn)擊Properties,然后選擇Builders創(chuàng)建一個(gè)項(xiàng)目的擴(kuò)展編譯工具,出現(xiàn)了添加界面,首先給編譯配置起個(gè)名字,如:C_Builder設(shè)置Location為<你cygwin安裝路徑>\bin\bash.exe程序,例如:C:\cygwin\bin\bash.exe,設(shè)置Working   Directory為<你cygwin安裝路徑>\bin目錄,例如:C:\cygwin\bin設(shè)置Arguments為--login -c "cd /cygdrive/e/android-ndk-r5/samples/hello-jni && $NDK/ndk-build"這個(gè)參數(shù)很重要一定要注意路徑必須是項(xiàng)目的包含有NDK 編譯文件的路徑上面的配置中/cygdrive/e/android-ndk-r5/samples/hello-jni是你當(dāng)前要編譯的程序的目錄,$NDK是之前配置的ndk的環(huán)境變量,這兩個(gè)根據(jù)你具體的安裝目錄進(jìn)行配置,其他的不用變,Arguments這串參數(shù)實(shí)際是  給bash.exe命令行程序傳參數(shù),進(jìn)入要編譯的程序目錄,然后運(yùn)行ndk-build編譯程序
  3. 接著切換到Refresh選項(xiàng)卡,給Refresh resources upon completion打上鉤 .這個(gè)一定要是選刷新整個(gè)工作區(qū)域的,不然可能造成NDK編譯后沒有馬上打包到APK里面,要下一次運(yùn)行才打包進(jìn)去
  4. 然后切換到Build Options選項(xiàng)卡,勾選上最后三項(xiàng)  //這個(gè)可以不用,避免每次修改C文件都會(huì)編譯,很煩
  5. 之后點(diǎn)擊Specify Resources按鈕,選擇資源目錄,勾選你的項(xiàng)目目錄即可 //也可以不處理
  6. 最后點(diǎn)擊Finish,把你配置的編譯器排到第一位,否則C代碼的編譯晚于Java代碼的編譯, 會(huì)造成你的C代碼要編譯兩次才能看到最新的修改

還有一種方法,就是用CDT自己的編譯配置來做,而不用新建Builder

  1. 打開屬性窗口,選擇C++ builder

在執(zhí)行程序處,把原來的 bash 改成 <你cygwin安裝路徑>\bin\bash ,后面 參數(shù) 跟 新建Builder  的 Arguments一樣比如 : c:\cygwin\bin\bash.exe  --login -c "cd /cygdrive/d/android/ndk-r5/samples/hello-jni && $NDK/ndk-build" 因?yàn)閰?shù)可能很多,而參數(shù)本身就是一些linux的shell 命令,所以,可以采用把所有的shell命令寫到一個(gè)shell腳本文件,然后參數(shù)里面改用這個(gè)腳本文件的名字,比如--login -c " /cygdrive/d/android/ndk-r5/samples/hello-jni/build.sh" 其中 build.sh就是腳本文件的名字,build.sh 必須有執(zhí)行的權(quán)限, 可以用 chmod +x  build.sh 來加這個(gè)權(quán)限,這個(gè)在執(zhí)行cygwin的終端窗口中執(zhí)行改變權(quán)限后用可以用 ls -l 來查看權(quán)限

//下面是我的腳本文件的格式

# 先切換到程序目錄

cd /cygdrive/d/android-ndk-r5/samples/hello-jni  

#設(shè)定一個(gè)編譯器輸出obj文件的目錄

objPath="obj/local/armeabi/objs-debug/hello-jni/"

#驗(yàn)證obj目錄是否存在

if [ -d "$objPath" ]; then

         #刪除所有的0.d文件,不然在編譯錯(cuò)誤后,就無法再編譯了

         rm -rf $objPath/*.o.d

fi

#設(shè)置是支持debug模式的

debug=true

#開始真正調(diào)用NDK的編譯,開始編譯項(xiàng)目

$NDK/ndk-build

 

C++  build  里面要去掉自動(dòng)生成makefile選項(xiàng),不然會(huì)無法編譯,根據(jù)以上的配置就可以很方便的在修改源代碼后,自動(dòng)編譯程序。

配置 NDK 調(diào)試

配置調(diào)試環(huán)境比較麻煩,要有一些準(zhǔn)備

  1. 所限需要修改 ndk-gdb 文檔,本來ndk-gdb在啟動(dòng)模擬器上的 gdb-server 后會(huì)調(diào)用一個(gè) 默認(rèn)的gdb客戶端,現(xiàn)在需要把它注釋掉
  2. ndk-gdb  文件在 NDK的目錄下,把該文件的最后一行  $GDBCLIENT -x `native_path $GDBSETUP` 注釋掉,就不會(huì)啟動(dòng)一個(gè)gdb客戶端,因?yàn)槲覀円裧db集成到eclipse 里面調(diào)試,比較方便可以可視化斷點(diǎn)跟蹤,文件修改后另存一個(gè)文件,文件名可以隨便,我這里叫ndk-gdb.eclkipse的。
  3. 需要先編譯一次項(xiàng)目,編譯后會(huì)在項(xiàng)目目錄下的obj/local/armeabi目錄下生成一些文件,里面有一個(gè)gdb.setup文件,該文件有一個(gè)gdbserver 的 端口映射,需要把它刪除,才能讓eclipse的調(diào)試映射到該端口,然后另存為一個(gè)文件,比如 gdb2.setup、gdb.setup 文件必須在運(yùn)行一次ndk-gdb.eclkipse后才會(huì)出現(xiàn)
  4. 打開run菜單 ->external tools -> external tools configurations  新建一個(gè)  program ,可以隨便起名 比如 NDK-GDB

1)         main 頁面,location 輸入 調(diào)試的程序名 比如 c:\cygwin\bin\bash.exe  ,working directory  輸入c:\cygwin\bin\

    參數(shù) 輸入  --login -c "cd /cygdrive/d/android/ndk-r5/samples/hello-jni && ndk-gdb.eclipse --verbose"   這個(gè)參數(shù)的輸入方式跟 編譯器一樣ndk-gdb.eclipse  就是那個(gè)移除 GDBCLIEN 的 ndk-gdb文件--verbose 用來顯示詳細(xì)的調(diào)試處理信息

  1. 創(chuàng)建一個(gè)C++  debug  配置

l  選擇 run 菜單--->debug  configurations

l  選擇C/C++ Attach to Application  ,新建一個(gè)debug 配置,名字隨意起,我這里起

l  main 頁面 C/C++ Application 選擇 項(xiàng)目錄下obj/local/armeabi 的app_process 文件,如D:\android-ndk-r5\samples\hello-jni\obj\local\armeabi\app_process,app_process 文件必須是在運(yùn)行一次ndk-gdb.eclkipse后才會(huì)出現(xiàn)在 main 頁面 最下面的GB選擇,選擇 select other,在彈出的GDB選擇中選中 use configuration specific settings 然后選中列表框中的standard create process launcher

l  debug頁面

    debugger 選擇 gdbserver  main   gdb debug 選擇 NDk 的gdb  執(zhí)行文件,我這里是 D:\android-ndk-r5\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gdb.exe

gdb command files 選擇 上面 項(xiàng)目錄下obj/local/armeabi 的 gdb配置文件,就是上面提到的gdb2.setup

比如   D:\android-ndk-r5\samples\hello-jni\obj\local\armeabi\gdb2.setup connection 頁面,type 選擇TCP port number 輸入5039 android 的gdbserver 是5039的端口

                              

項(xiàng)目調(diào)試

  1. 在android 項(xiàng)目的  第一個(gè)Activity 中的oncreate ,設(shè)置一個(gè)斷點(diǎn)
  2. 運(yùn)行android 項(xiàng)目的debug,

         運(yùn)行項(xiàng)目中會(huì)有install apk 以及啟動(dòng)調(diào)試信息

         Installing HelloJni.apk... // 安裝程序包

         HelloJni] Success!  //安裝成功

         HelloJni] Starting activity com.example.hellojni.HelloJni on device emulator-5554 //開始啟動(dòng) activity

         HelloJni] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.hellojni/.HelloJni }

         HelloJni] Attempting to connect debugger to 'com.example.hellojni' on port 8638                  //debug

  1. 在觸發(fā)Activity 的斷點(diǎn)后,執(zhí)行 >external tools的  NDK-GDB 這里會(huì)顯示,gdbserver 啟動(dòng)信息,以及android項(xiàng)目的PID等等信息,成功的話,會(huì)有成功信息,這里要注意android 的版本,必須是2.2以后的版本才支持調(diào)試

                   Android NDK installation path: /cygdrive/D/android-ndk-r5

                   Using default adb command: /cygdrive/d/Android/android-sdk-windows/platform-tools/adb

                   ADB version found: Android Debug Bridge version 1.0.26

                   Using final ADB command: '/cygdrive/d/Android/android-sdk-windows/platform-tools/adb'

                   Using auto-detected project path: .

                   Found package name: com.example.hellojni

                   ABIs targetted by application: armeabi

                   Device API Level: 8  // Android 2.2 以后的平臺(tái)才支持遠(yuǎn)程調(diào)試

                   Device CPU ABI: armeabi

                   Compatible device ABI: armeabi

                   Found debuggable flag: true

                   Found device gdbserver: /data/data/com.example.hellojni/lib/gdbserver

                   Using gdb setup init: /cygdrive/d/android-ndk-r5/samples/hello-jni/libs/armeabi/gdb.setup

                   Using toolchain prefix: /cygdrive/D/android-ndk-r5/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-

                   Using app out directory: /cygdrive/d/android-ndk-r5/samples/hello-jni/obj/local/armeabi

                   Found data directory: '/data/data/com.example.hellojni'

                   Found running PID: 306

                   ## COMMAND: /cygdrive/d/Android/android-sdk-windows/platform-tools/adb shell run-as com.example.hellojni lib/gdbserver +debug-socket --attach 306

                   Launched gdbserver succesfully.

                   Setup network redirection

                   ## COMMAND: /cygdrive/d/Android/android-sdk-windows/platform-tools/adb forward tcp:5039 localfilesystem:/data/data/com.example.hellojni/debug-socket

                   Attached; pid = 306  //把 GDB server跟程序 PID 306掛鉤

                  

                   Listening on sockaddr socket debug-socket

                  

                   ## COMMAND: /cygdrive/d/Android/android-sdk-windows/platform-tools/adb pull /system/bin/app_process D:/android-ndk-r5/samples/hello-jni/obj/local/armeabi/app_process

                   354 KB/s (5676 bytes in 0.015s)

                   Pulled app_process from device/emulator.

                   ## COMMAND: /cygdrive/d/Android/android-sdk-windows/platform-tools/adb pull /system/lib/libc.so D:/android-ndk-r5/samples/hello-jni/obj/local/armeabi/libc.so

                   75 KB/s (270068 bytes in 3.484s)

                   Pulled libc.so from device/emulator. //啟動(dòng)成功

  1. 執(zhí)行C++ 的debug 配置 ,成功的話會(huì)顯示一些gdb 信息,這里要注意,如果CDT安裝不正確,可能會(huì)出現(xiàn)無法執(zhí)行程序的想象
  2. 在C++程序中設(shè)置斷點(diǎn)
  3. 恢復(fù)android項(xiàng)目的運(yùn)行
  4. 等待一會(huì),程序會(huì)觸發(fā)C++的斷點(diǎn),這是就可以單點(diǎn)調(diào)試C++程序

注意:C++調(diào)試由于是遠(yuǎn)程調(diào)試,相對(duì)還是比較慢

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多