乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android源碼開發(fā)利器——Java源碼調試(基于4.1.2)

       老匹夫 2014-03-29
      分類: Android 2013-04-29 21:27 843人閱讀 評論(0) 收藏 舉報

      目錄(?)[+]

      調試Android Java源碼

      草帽的后花園——Neo

               寫在之前的話:這里主要是以調試Java源碼為主,應該說是在system_process之后的源碼,這對于調試和修改frameworks層的人來說真是一個利器,但至于為什么在system_process之后,我還在分析,如果有結果我會更新此文章,并正在嘗試調試C++的代碼,就是native中的代碼,如果這個可行那將會大大的減少我們這些以修改源碼為主的工作人員就輕松多了,目前還未開始,如果可行我會盡快發(fā)布,方法并非原創(chuàng),僅僅是我成功測試了,所以分享。轉載請注明來源,謝謝。(經過測試,如果系統(tǒng)編譯成user版本的似乎不能調試)


      1.     配置SDK開發(fā)環(huán)境

      這個關于配置開發(fā)環(huán)境我就不多說了,由于工作時間原因,我會在后面加入關于windows下和linux下的開發(fā)環(huán)境配置的教程。這里的工作環(huán)境是windows xp,Eclipse 4.2,

      SDK情況如下圖:


      2.     導入Android源碼

      我這里使用的代碼是Android 4.1.2(主要是目前我公司暫時在開發(fā)4.1.2的平板),我就以4.1.2的源碼為主,模擬器演示,真機就不演示了,原理是一樣的。在這里,首先要確保一件事情就是你的源碼要能編譯通過才行,編譯源碼的教程網(wǎng)上有很多,后面我也會再做一份自己理解的教程。

      2.1.          啟動Eclipse

      這個就不詳述了,免得羅嗦,直接點圖標。啟動后如圖所示:


      2.2.          新建Java工程

      點擊左上角的FileàNewàJavaProject,新建一個Java的工程。首先說明下,我的代碼之前就可以編譯通過,根目錄路徑為:U:\neo\android_4.1.2\4.1.2。


      然后會進入下面的這個界面


      2.3.          選擇導入的源碼

      在導入之前我們需要做一個事情,就是減少源碼導入的量過大,我們可以把源碼中的一個文件拷貝到源碼根目錄下,該文件的路徑是:(U:\neo\android_4.1.2\4.1.2\development\ide\eclipse\.classpath),看不到的話就把所有隱藏的文件顯示出來,如圖所示:


      復制過去:


      現(xiàn)在我們需要選擇要導入的源碼,location處為我們所要導入的源碼路徑(這里注意是根目錄哦,源碼根目錄~~),輸入project name:Android4.1.2,去掉Use defaultlocation的勾,結果如圖所示:


      然后點next,就會導入了,導入大概需要十幾分鐘吧,等待等待,呵呵。

      導入完畢之后的圖:

      Finish之后就OK了。

      工程代碼:


      3.     設置連接的端口

      其實就是通過遠程來調試,設置一個socket的端口,操作過程如圖:



      進入debugConfigurations時雙擊Remote Java Application新建一個遠程調試并將端口號改為8600(這里需要做的是輸入你要調試的進程的端口號,這里我附上一張后面的圖,以便解釋,每個進程啟動后都有一個端口號,如圖,若要針對調試就需要設置好端口號才會進入,后面的圖,例如要調settings,那么就把端口號設置為8604),且common欄中的debug打鉤。



               點擊Apply即可。

      4.     啟動真機或者模擬器

      連接真機或者模擬器,我只連接模擬器了,真機也已經測試,是可行的。

      首先要新建一個模擬器(平板效果圖的模擬器),步驟如圖所示:



      在window->AVDManager中,選擇新建


      填滿內容,這里要注意:Resolution設置為1280x800的,下面的AbstractedLCD density要設置成160,這樣才顯示的是平板。


      點Create AVD即可。啟動剛才建立的模擬器。


      模擬器已經在啟動


      5.     設置斷點

      模擬器啟動比較慢,我們先設置好斷點,根據(jù)啟動流程(這個需要自己理解下了),我在所有服務啟動之前加入了斷點,斷點設置在frameworks/base/services/java/com/android/server/SystemServer.java的第775行,即在run()啟動的第一句話,后面的代碼都是為了啟動各種服務。



      設置好斷點后,開始連接模擬器。

      6.     開始調試

      接下來就是進行調試了,啟動過程中我們在DDMS中可以看到,設備剛開始是offline的,等設備處于online狀態(tài)時,我們啟動剛才設置好的debug。




      點了debug后,這時會看到有只小蟲子粘在了system_process進程上,這說明已經可以調試了。


      稍等會就會進入到我們剛才設置的斷點處了。


      效果就是這樣,調試的步驟這個就不多說了,也可以在這里查看變量的值,以及修改內存中的值,以便調試。(其實說實話解釋型的語言更好調試,編譯型的好不爽,好歹還能修改下內存的值)。


      調試過程就是如此了,這里只做了一個小小的演示,相信多的不用再說了,做為IT新手的我不可能寫的太詳細,如有疏漏請見諒。其實通過這個還看觀察到系統(tǒng)的部分啟動過程,可以調launcher、Setting等frameworks下面的東東,如果大家有好方法請互相共享,謝謝。

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多