單獨導入android源碼裏具體的應用舉例

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!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章