利用Genymotion + vs + VisualGDB + ndk 進行源碼調試(效率堪比真實調試)


由於之前裝過 Genymotion 模擬器,昨天做了一次更新, 尼瑪結果出問題了  不停的報 play.exe停止工作,網上的各種方式折騰了幾個小時無效,最后把 

Oracle VM VirtualBox
Genymotion  
用360軟件管理徹底卸載了,接着重啟,
 
然后重新下載了一個  VirtualBox +  Genymotion  的綜合安裝包,不負所望,在機器重啟后終於可以正常進入模擬器了 
 
看下 效果還不錯  ,模擬器的過程我就不詳細說了 大家自行摸索一下,網上教程挺多的

 
 
下面准備開始我們的調試過程
1、我們下載一個插件
 
下載Eclipse插件
此插件也可以通過Eclipse直接安裝:Help->Install New Software,然后添加下面的地址: http://plugins.genymotion.com/eclipse
注意:如果要使用此插件,您的系統必須已經安裝Genymotion

 
插件過程就不詳細說了 官網復制下來的有寫
 
 
2、 錯誤信息: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
       在我們第一次調試的時候肯定會出現一個這樣的錯誤  INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
原因是因為我們的模擬器是x86架構的處理器,但是eclipse編譯出來的apk 只能在arm的架構上運行,所以就會提示這個錯誤
不過沒關系 廣大網友的力量是無盡的,我們只要下載一個補丁,安裝上就可以正常運行apk了(補丁出自於那里就無從考究了,反正能用就好)
 
下面的補丁地址: http://pan.baidu.com/s/1h7yPD
 
補丁安裝很簡單,把下載好的文件 直接拖進模擬器,會彈出一系列的提示,全部點yes,提示框完了以后就直接重啟模擬器,
再次啟動模擬器的時候,可能會報錯,但是沒關系,我們不管它,重新繼續重啟,一直到正常為止
 
 
3、好了,接下來就可以開始我們的調試大業了,因為我們講的是vs調試ndk, 這里我們需要使用到一個神器VisualGDB,大家可以在網上自動搜索,
也可以在QQ群: 25093009,群共享自行下載,群共享文件名: eclipse vs 聯調ndk,文件里面詳細介紹了如何安裝配置,這里就不詳細描述了
 
在調試過程中注意一個問題,so必須編譯成x86的架構,如何編譯x86架構的 so? 
很簡單 在jni目錄里面創建一個Application.mk 然后寫入下面代碼:APP_ABI := armeabi armeabi-v7a x86
簡單吧,這樣子ndk-build命令在編譯的時候 就會自動編譯 上面三個構架的so文件,這樣子我們就可以任意框架里面調試了
 
4、接下來我們看幾個截圖吧,調試過程的截圖
附加界面

 
apk  還沒有加載so  vs里面的斷點處於 空白斷點狀態 
 
懸浮窗口出來,so已經成功加載,看我們的vs斷點里,已經可以正常使用了,並成功進入斷點。
 
在這里我們調試成功了,大家是不是覺得很激動,如果覺得激動,就點個贊吧,哈哈,趕緊去測試吧,心動不如行動.






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM