系統應用程式匯入Eclipse

來源:互聯網
上載者:User

 

Android系統應用程式Eclipse開發環境的搭建

首先,將要修改的應用程式,從alps(源碼根路徑)\packages\apps目錄下拷貝到本地機子上,然後在Eclipse新建立一個Android項目,選擇Create project from existing source引進該應用程式,

一般情況下,只需要將alps(源碼根路徑)\out\target\common\obj\JAVA_LIBRARIES\路徑的下面2個檔案夾 core_intermediates , framework_intermediates 下的classes.jar檔案,分別重新命名為core.jar , framework.jar。再將工程預設的android.jar移除,加上這2個jar就可以了。

1) alps\out\target\common\obj\JAVA_LIBRARIES\core_intermediates, 把class.jar拷貝出來改名為core.jar

2) alps\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates, 同樣把class.jar拷貝出來,改名為framework.jar

3) 若需要其它的 jar 包,按 1)2)方法在alps\out\target\common\obj\JAVA_LIBRARIES\找到相應的jar包匯入到項目中

3) 在 eclipse 裡面添加一個新的 user library. 如名字為 android-lib(可以自己命名)

4) 把這個 android-lib 設定為 system library. 並把 core.jar 和 framework.jar 添加到這個 android-lib 裡面。

5) 在您工程裡面把原來的 android library: android2.1-update1 或者如 android2.2 移除掉,然後把新的 android-lib 添加到您的工程。

6) Enjoy debugging.

如果還有找不到的類,可以先看這個類是在哪定義的,再到alps\out\target\common\obj\目錄下的APPS或JAVA_LIBRARIES兩個目錄下搜尋所要的類,然後將搜尋到的類引到項目中。特別需要注意EventLogTags.java這個檔案,該檔案是系統編譯時間產生的,每個應用都會對應不同的EventLogTags.java,因此要保證所找到檔案是該項目所需要的檔案。

對於.aidl檔案的處理:一般.aidl檔案報錯的原因是在引進其他.aidl檔案的時候找不到對應的aidl檔案,這種情況只需將相應的aidl檔案拷貝到項目下面並相應的在src下面建立該aidl檔案相應的包名,並將該aidl檔案移到建立的包裡面。

 

 

將android launcher2匯入eclipse中運行

1.將Launcher2項目匯入eclipse中
這時候Launcher2工程已經匯入到eclipse中了,不過這時候會有100多個錯誤.

2.添加Launcher2使用的包檔案。

由於在Android源碼中,很多方法、成員、類、包都被打上@hide標籤,這些成員在SDK中沒有公開,以至於在編譯Launcher源碼時最常遇到的類android.view.View的成員mScrollX無法訪問。因此首先需要下載Android的代碼並且編譯好,因為要用到一些編譯完成的class.jar檔案

這裡我們用到的有:(產生的包的路徑為out/target/common/obj/JAVA_LIBRARIES)
1)framework_intermediates/classes.jar :這個主要是android的架構類
2)android-common_intermediates/classes.jar :這個包含com.android.common.Search這個類
3)core_intermediates/classes.jar :這個包包含dalvik.system.VMRuntime這個類

這些都是需要匯入到工程裡面的包,這個可以通過配置工程的Build Path來加入,
右鍵工程名稱然後選擇Build Path->Configure Build Path...->Libraries->Add Library->User Library->User Libraries...->New...
然後將上面3個依賴的包一個個的加入進來,分別命名為android_framework,android_common,android_core.
將3個包加入進來後,然後還需要將它們放到android2.3.3這個包的前面,可以在Build Path配置中選擇Order and Export
這時候就會發現Launcher2工程以及沒有錯誤了,也可以編譯了。
3.修改Launcher2包名稱,在模擬器上運行更改後的Launcher2.

改掉原始包的名字,切記使用eclipse的重新命名機制(在包名上按F2可修改),不僅是類的引用,還有很多xml檔案內部的引用(如import com.android.launcher3.R;),只要重新命名不錯,這些都可以一次性搞定的。

New name填寫你自己的包名,把下面四項全部勾選。點擊“Preview”

特別注意:你的項目最好不要放在中文路徑下,不然rename時會出錯,我就是開始放在中文路徑下出錯弄了很久才發現錯誤!

4.AndroidManifest.xml檔案裡面,找到這句話刪除掉。(android:sharedUserId="android.uid.shared")

這樣就大功告成了,我是用2.3的launcher來做實驗的,結果沒問題,運行成功!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.