Android Settings 導入eclipse

1.加載源碼html

Android Project from Existing Code 選擇源碼工程Settings;java

2.加載所須要的jar包android

(改下名字)ubuntu

out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jarwindows

out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jarapp

out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jareclipse

out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar工具

out/target/common/obj/JAVA_LIBRARIES/frameworks-core-util-lib_intermediates/classes.jarpost

out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar         ui

另外還要根據實際項目狀況添加其餘jar文件   

guava-r07.jar 網上下載

android-support-v4.jar sdk中的。

把建立的libraries順序放在最前面:

工程->Build Path->Configure Build path ->Order and Export 選擇新建的jar,點擊up鍵,把它升到最上面。

3.改動包名

選中一個包,按F2(下圖,我選中了com.android.settings 改成了com.zheng.settings,子包自動改掉了)


而後AndroidManifest.xml會出莫名的錯誤(<service android:name=".bluetooth.DockService" />),用以前的覆蓋掉。

AndroidManifest.xml 中添加 <uses-sdk android:minSdkVersion="14" />;

權限增長

<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />

而後將res中.xml文件中用到的也全改掉(com.android.settings
改成了com.zheng.settings)。

代碼中com.android.settings.R; 改成import com.zheng.settings.R;,可使用replace;

刪掉全部import android.User.id;由此出現的問題,全改掉。

例程

guava-r07.jar

可執行代碼

參考:

http://www.cnblogs.com/lygshow/archive/2012/03/19/2406205.html

 

 

通過幾番掙扎,仍是把 android settings 源碼成功導入 eclipse,在此分享!

 

在此以前,但願你作到如下幾點,否則往下閱讀只是在浪費時間。

 

<1> 操做系統使用 32 位的 ubuntu10.10,軟件Eclipse3.5,ADT12.0,JDK1.6

<2> 下載 android2.3 源碼,推薦 http://blog.csdn.net/AndroidBluetooth/article/details/6538254

<3> 編譯源碼,推薦 http://www.cnitblog.com/houcy/archive/2011/02/10/72771.html

 

若是作好以上工做,下面的就是小菜一疊。

 

1.  新建 android 項目

 

拷貝源碼/packages/apps/Settings到你的其它目錄。

 

在eclipse中,新建項目,可是要從exitting source選擇:

 

 

2. 導入相關的庫文件

 

但願你這樣作,不然你會遇到其它莫名奇妙的錯誤。

eclipse中右鍵項目Settings/Build Path/Add Libray

 

 

選擇User Libray,選擇new ,任意去一個名稱。

注意:必定要選擇System libray前面的複選框。

點擊ok以後,選擇對應的jar包。

 

 

該 jar包就是源碼目錄/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/下面的包。

 

 

注意這步操做:

eclipse中右鍵項目Settings/Build Path/Configure Build Path/,開始你會看到是下面這個樣子:

 

 

而後,調整一下順序以下:

 

 

3. 再次編譯

 

在eclipse中clean,便可。

 

注意:你能夠將 源碼目錄/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar 這個文件放到你的Settings項目中。

例如在Settings中新建目錄libs,而後將classes.jar放到裏面,而後,照着上面2的步驟從新作一次便可!

 

導入其它源碼,有可能須要/out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/下面的jar文件。相似手法導入便可。

 

GoodLuck!

 

 

android2.3源碼裏單獨導入單個系統應用模塊的方法

   對於從android的源碼網上下載下源碼的朋友,很是期待查看源碼的具體結構或特定的應用的具體實現,下面就教你們如何把系統應用導入到eclipse裏開發。

   一:  開發前的準備工做:1.配置Linux環境和編譯源碼的一些工具,確保編譯成功,啓動模擬器檢驗。

                             2.把編譯完的整個工程複製到windows系統特定目錄裏。

  二: 以系統應用Settings爲例:

    導入過程:

         1.建立android工程     

            系統的應用都在  源碼/packages/apps/下

            在eclipse裏:(file->new android->create project from existing source.給工程命令,選擇工程所在目錄,選擇build target)選擇你須要的應用,選擇特定SDK版本 :

         2.加載所須要的jar包

             由於單獨拿出來的系統應用,缺乏特定jar包的支持,須要建立libraries,把須要的jar加載進去便可。具體須要哪些jar包,能夠再工程錯誤裏查看少那些類或接口,藉助Souce Insight工具,查找類或接口所在的位置,篩選路徑 /out/target/.......

             在eclipse建立libraries的過程:

                      1.進入project->property->java build path->libraries,選擇Add library->user library->new,創建一個獨立的庫文件集,可命名爲android-framework(名字無所謂)。

                      2.創建成功後選擇android-framework,而後點Add jars,添加模塊須要的jar包:

                           out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar

                           out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar

                           out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar

                           out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar

                           out/target/common/obj/JAVA_LIBRARIES/frameworks-core-util-lib_intermediates/classes.jar

                           out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar         

                    3.另外還要根據實際項目狀況添加其餘jar文件        

                    4.記得把建立的libraries順序放在最前面。

                         工程->Build Path->Configure Build path ->Order and Export 選擇新建的jar,點擊up鍵,把它升到最上面。

         3.修改包名  

                       必須修改app項目中全部包的名字,如com.android.settings必須都改成com.lyg.settings(包名順便起),由於這樣才能避免最後生成的apk與系統默認的setting衝突。修改方法以下:

              選擇對應的包,如com.android.settings,按F2出現修改對話框,勾選所有選項,修改完成後點preview。

                     須要注意的地方:         

                     1.修改工程名後,AndroidMainfese.xml修改不很成功,最好備份一份原來的 AndroidMainfest.xml文件
                     2.gen下面的資源包名已經變了,因爲類裏的資源文件仍是之前的,因此再在資源文件這裏把包名改回去,在改到你修改的名字例如你把包名 com.android.settings 修改爲 com.lyg.settings
                        因爲之前的資源文件是 com.android.settings.R 因此它沒有變。而gen下的資源包名已經改變,先把它修改成com.android.setting,在改回到com.lyg.settings便可

         4.其它操做

                須要註釋掉進程的訪問權限,若是光有聲明,而沒有具體的實現該權限,apk是安裝不上的,暫時註釋掉,會有一些功能受到影響。解決辦法須要數子簽名,詳見數字簽名介紹。

                 <!--  android:sharedUserId="android.uid.system" -->

                此時運行便可,對應沒有權限的加上,出現別的簡單的錯誤,本身上網查找解決。最後運行該工程,就能夠修改和實現系統應用了。

說明:android的4.0源碼和android的2.3的源碼仍是有區別的,用上面方法也是能夠的,注意的是:android的2.3源碼能夠和eclipse的工做空間在同一個目錄裏,但android的4.0就不可,否則會報錯: [2012-03-19 14:38:12 - Setting] AndroidManifest.xml file missing!

 
分類:  Android
相關文章
相關標籤/搜索