<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                本節將介紹如何利用Eclipse來調試Android Java Framework的核心進程SystemServer。 1. 配置Eclipse 首先要下載Android SDK。下載地址為[http://developer.android.com/sdk/index.html](http://developer.android.com/sdk/index.html) 在Linux環境下,該網站截圖如圖1-6所示。 :-: ![](http://img.blog.csdn.net/20150803101432799?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-6 AndroidSDK下載網頁示意圖 筆者下載的是Linux系統上的SDK。解壓后的位置在/thunderst/disk/anroid/android-sdk-linux_x86下。 然后要為Eclipse安裝ADT插件(Android Development Tools),步驟如下。 - 單擊Eclipse菜單欄Help->Install New Software,輸入Android ADT下載地址:https://dl-ssl.google.com/android/eclipse/, 然后安裝其中的所有組件,并重啟Eclipse。 - 單擊Eclipse菜單欄Preferences->Android一欄,在右邊的SDK Location中輸入剛才解壓SDK后得到的目錄,即筆者設置的/thunderst/disk/anroid/android-sdk-linux_x86,最終結果如圖1-7所示。 :-: ![](http://img.blog.csdn.net/20150803101340333?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-7 SDK安裝示意圖 - 單擊Eclipse菜單欄Window->Android SDK Manager,彈出一個對話框,如圖1-8所示。 :-: ![](http://img.blog.csdn.net/20150803101359895?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-8 Android SDK Manager對話框 在圖1-8中選擇下載其中的Tools和對應版本的SDK文檔、鏡像文件、開發包等。有條件的讀者可以將Android 4.0.3和4.0對應的內容及Tools全部下載過來。 2. 使用Coffee Bytes Java插件 Coffee BytesJava是Eclipse的一個插件,用于對代碼進行折疊,其功能比Eclipse自帶的代碼折疊功能強大多了。對于大段代碼的研究,該插件的作用功不可沒。此插件的安裝和配置步驟如下: - 單擊Eclipse菜單欄Help->Install New Software,在彈出的對話框中輸入[http://eclipse.realjenius.com/update-site](http://eclipse.realjenius.com/update-site) ,選擇安裝這個插件即可。 - 單擊Eclipse菜單欄Window->Preference,在左上角輸入Folding進行搜索,結果如圖1-9所示。 :-: ![](http://img.blog.csdn.net/20150803101524076?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-9 Coffee Bytes Java 插件配置 在圖1-9所示的對話框中,要先打開Enablefolding選項,然后從Select foldingto use框中選擇CoffeeBytes Java Folding。圖1-9右下部分的勾選框用來配置此插件的代碼折疊功能。讀者不妨按照圖1-9所示來配置它。使用該插件后的示意圖如圖1-10所示。 如果不關心else if分支,就可以把這段代碼折疊起來 :-: ![](http://img.blog.csdn.net/20150803101538943?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-10 Coffee Bytes Java插件的使用示例 從圖1-10中可看到,使用該插件后,基本上代碼中所有分支都可以折疊起來,該功能將幫助開發人員集中精力關注自己所關心的分支。 3. 導入Android源碼 注意,這一步必須編譯完整個Android源碼才可以實施,步驟如下: · 復制Android源碼目錄/development/ide/eclipse/.classpath到Android源碼根目錄。 · 打開Andriod源碼根目錄下的.classpath文件。該文件是供Eclipse使用的,其中保存的是源碼目錄中各個模塊的路徑。由于我們只關心Framework相關的模塊,因此可以把一些不是Framework的目錄從該文件中注釋掉。同時,去掉不必要的模塊也可加快Android源碼導入速度。圖1-11所示為該文件的部分內容。 :-: ![](http://img.blog.csdn.net/20150803101445385?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-11.classpath文件部分文件內容 另外,一些不必要的模塊會導致后續在Eclipse中Android源碼編譯失敗。筆者共享了一個.classpath文件,讀者可從[http://download.csdn.net/detail/innost/4247578](http://download.csdn.net/detail/innost/4247578) 下載并直接使用。 單擊Eclipse菜單欄New->Java Project,彈出如圖1-12所示的對話框。設置Location為Android4.0源碼所在路徑。 :-: ![](http://img.blog.csdn.net/20150803101501172?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-12 導入Android源碼示意圖 由于Android 4.0源碼文件較多,導入過程會持續較長一段時間,大概10幾分鐘左右。 注意導入源碼前一定要取消Eclipse的自動編譯選項(通過菜單欄Project->BuildProject Automatically設置)。另外,源碼導入完畢后,讀者千萬不要清理(clean)這個工程。清理會刪除之前源碼編譯所生成的文件,導致后續又得重新編譯Android系統了。 4. 創建并運行模擬器 單擊Eclipse菜單欄Window->AVD Manager,創建模擬器,如圖1-13所示。 :-: ![](http://img.blog.csdn.net/20150803101521078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-13 模擬器創建示意圖 模擬器創建完畢后即可啟動它。 5. 調試SystemServer 調試SystemServer的步驟如下: - 首先編譯Android源碼工程。編譯過程中會有很多警告。如果有錯誤,大部分原因是.classpath文件將不需要的模塊包含了進來。讀者可根據Eclipse的提示做相應處理。筆者配置的幾臺機器基本都是一次配置就成功了。 - 在Android源碼工程上單擊右鍵,依次單擊Debug As->Debug Configurations,彈出如圖1-14所示的對話框,然后從左邊找到RemoteJava Application一欄。 :-: ![](http://img.blog.csdn.net/20150803101534400?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-14 Debug配置框示意圖 - 單擊圖1-14中黑框中的新建按鈕,然后按圖1-15中的黑框中的內容來設置該對話框。 :-: ![](http://img.blog.csdn.net/20150803101703027?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-15 Remote Java Application配置示意圖 由圖1-15所示,需要選擇Remote調試端口號為8600,Host類型為localhost。8600是SystemServer進程的調試端口號。Eclipse一旦連接到該端口,即可通過JDWP協議來調試SystemServer。 - 配置完畢后,單擊圖1-15右下角的Debug按鈕,即可啟動SystemServer的調試。 圖1-16所示為筆者調試startActivity流程的示意圖。 :-: ![](http://img.blog.csdn.net/20150803101610889?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖1-16 SystemServer調試效果圖
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看