目前網(wǎng)上已經(jīng)有很多文章來描述如何使用eclipse來調(diào)試android源碼,但是大多數(shù)都是最后基于 android虛擬機來完成最后的一次華麗轉(zhuǎn)身,即享受最后調(diào)試的勞動果實,然后,然后就得忍受android虛擬機的各種緩慢,以及對esopengl庫不支持導(dǎo)致的bug,問題,估計很多同學(xué)也就是調(diào)試通過一次就不愿意再用了。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了拉薩免費建站歡迎大家使用!下面,本文介紹一種使用eclipse調(diào)試源碼的方法,但是是在真機上面進行調(diào)試,速度和真實的模擬性可不是android虛擬機可比較的。
一 前置條件
1 三星 nexue one 手機一部
2 筆者用的是cm-ics 也就是android 4.0 的代碼
3 操作系統(tǒng) ubuntu 13.04
二 編譯過程
1 首先需要將cm-ics源碼編譯完成,升成可是刷入到nexue one手機中的
rom包,并且使用完美刷機等軟件刷入到nexue one手機中,能夠正常開機使用。
關(guān)于這個過程,需要看我以前的如何編譯 cm代碼的博文,里面有詳細的介紹
最后的升成文件如下圖
2 進入源碼目錄下的development/ide/eclipse,將.classpath 文件拷貝到
源碼目錄,然后再新建一個 .project 文件,文件內(nèi)容如下
CMIcs CMIcs Source org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
3 新建Java Project(不是android project,否則會破壞android源碼),
選擇從已存在的工程導(dǎo)入,工程名任意,完成。導(dǎo)入時,eclipse要build工程,
比較慢。
這一步一般都會有錯誤,總結(jié)一下,主要有一下幾種
1 源代碼里面缺少必要的代碼庫文件 如圖2
表示缺少相應(yīng)的源碼庫,直接報錯不編譯,
解決方法:在.classpath 文件中去掉該目錄即可
2 編譯過程中出錯
編譯過程中出錯多以包名,找不到或者少編譯一些文件,如圖3
解決方法:主要到指定目錄 mm編譯升成缺少的依賴包以后,然后
再將目錄添加到 .classpath 中去
比如這個是我在解決編譯錯誤的時候,加入的源碼或者lib的目錄文件
三 調(diào)試過程
通過前面的編譯過程,最后編譯完成以后就需要進行接收勞動成功,進行調(diào)試了。這里
跟網(wǎng)絡(luò)上大多數(shù)文章不同的地方是用真機調(diào)試。連接上燒入同樣版本的nexue one手機后,
進入 /adt-bundle-linux-x86_64-20131030/sdk/tools/ 這個目錄
使用 ./monitor 命令
出現(xiàn)界面如圖4
這里選中的是 com.android.calendar 就是日歷的這個進程
打開eclipse,這里要在打開 monitor后,然后進行配置
步驟如下:
選擇你的工程,右鍵打開菜單選擇 Debug AS—Debug configuration 彈出窗口,選擇Remote JAVA Application,右鍵在菜單選擇NEW,彈出下面的視圖,修改Port為8700
設(shè)置完成后如下圖5
然后點擊debug,成功以后出現(xiàn)如圖6
比之圖五,多了一個debug 爬蟲的圖標,表示已經(jīng)連接成功了
在應(yīng)用中找到 日歷這個apk點擊打開,發(fā)現(xiàn)設(shè)置的 setContentView斷點已經(jīng)停止了
如下圖
注意:有時候在遠程調(diào)試的時候連接會出現(xiàn)錯誤
Failed to connect to remote VM
筆者的解決方法是
在Preference->General->NetWork Connection->把Active Provider里面的選項,選擇為Direct.
解決該問題,僅做參考。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。