Android 4.0 Launcher2源碼分析——匯入eclipse進行調試

來源:互聯網
上載者:User

本文來自http://blog.csdn.net/chenshaoyang0011 轉載請申明文章出處!

     
由於需要研究Android 4.0Launcher2的源碼,必要的時候我們需要對代碼進行調試,所以我們需要能夠運行自己修改後的

Launcher。由於Launcher是Android內建的應用,因此,可以通過搭建Android源碼開發環境來進行調試和開發,這些工作只能在

Linux和MacOS上進行,對於大多數習慣了windows和eclipse開發環境的程式員來說,能夠在eclipse下進行開發和調試是最好不過的

了。這裡將自己windows下用eclipse搭建Launcher開發環境的步驟分享給大家。我所使用的eclipse為3.6.2,ADT版本

20.0.2,在搭建的過程中可能與你的過程稍有出入,但基本流程是一樣的。


     1、建立工程,選擇File--->New----->Project...---->Android Project from Existing Code---->Browse---->找到源碼所在的路徑-----

>Finish,工程就建立完成了。工程建立之後需要更改SDK的版本,右鍵工程,選擇Properties---->Android--->Android4.0.3(API版本

高於15都可以)--->OK。但這時,工程還是不能啟動並執行,主要的原因是源碼中調用了部分Android 未公開的API。這時就需要編譯

Android源碼,因為要用到一些編譯產生的class.jar檔案,這樣才能使用這部分API,如果不會源碼的編譯可以google一下,資料

很多的~~~~為方便網友,提供了launcher源碼和jar檔案的下載 點擊開啟連結

   2、添加需要使用的jar檔案。源碼編譯完成之後,會在根目錄中產生out檔案夾。而我們需要的檔案就位於

out/target/common/obj/JAVA_LIBRARIES目錄中。需要添加的jar檔案包括:

(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 -->Configure Build Path -->Libraries -->Add Library --> User Library -->User Libraries

 -->New...-->輸入名稱(如,Debug_Launcher)-->OK
-->Add JAR...--->分別添加上面需要的幾個JAR檔案。匯入完成之

後,在Build Path中選擇Order and Export,將Debug_Launcher排到Android4.0.3(我選的SDK版本)前面


   3、接下來,先開啟AndroidManifest.xml如果沒有以下代碼,則添加:

[java]
view plaincopyprint?
  1. <uses-sdk  
  2.         android:minSdkVersion="13"  
  3.         android:targetSdkVersion="15" />  
<uses-sdk        android:minSdkVersion="13"        android:targetSdkVersion="15" />

minSdkVersion可以填大於13的數值,同樣,targetSdkVersion至少是15。此時如果還有錯誤,一般是由於SDK版本造成的,更換為

高版本的SDK可以解決問題。


   4、添加android-support-v13.jar

這個檔案路徑  (你的SDK目錄)\extras\android\compatibility\v13,如果沒有,通過SDK Manager下載即可。找到檔案之後,

將其複製到工程根目錄下的lib檔案夾中(沒有就自己建一個),然後選擇Build
Path --->Configure Build Path --> Add

 JARs...--->選擇android-support-v13.jar


   5、此時如果還有錯誤的話,一般是由於SDK版本造成的,改為更高的版本,就可以了。這樣下來,工程中應該就沒有錯誤了。但

是這個時候還不能在模擬器上運行,需要修改包名。首先在包名上右鍵選擇Refactor
-->Rename-->輸入修改後的包名。接著右

鍵工程,選擇Android Tools --> Rename Android Package輸入修改後的包名。查看AndroidManifest.xml中activity、

receiver、provider的路徑是否正確,否則替換為正確的路徑。全部替換了之後,工程中的紅叉叉就沒有了。如果還有錯誤,如果

布局檔案有錯誤,多數為命名空間的錯誤,替換命名空間即可。如果是java檔案中的錯誤,如果是SDK版本問題,則替換為高版本

即可,如果是匯入R檔案的問題,刪除匯入語句重新匯入。這樣修改下來應該就不會有錯誤了。


    6、(可選)接下來修改LauncherProvider中DATABASE_NAME和AUTHORITY分別為

[java]
view plaincopyprint?
  1. //修改為自己的名字   
  2. DATABASE_NAME = "launcherdebug.db"  
//修改為自己的名字DATABASE_NAME = "launcherdebug.db"

[java]
view plaincopyprint?
  1. AUTHORITY = "com.android.launcherdebug.settings"  
AUTHORITY = "com.android.launcherdebug.settings"

接著修改provider,將修改以下代碼:

[java]
view plaincopyprint?
  1. <provider  
  2.             ......  
  3.             android:authorities="com.android.launcher.settings"  
  4.             ...... />  
<provider            ......            android:authorities="com.android.launcher.settings"            ...... />

改為:

[java]
view plaincopyprint?
  1. <provider  
  2.             ......//需要與LauncherProvider.AUTHORITY一致
      
  3.             android:authorities="com.csy.testlauncher.settings"  
  4.             ....../>  
<provider            ......//需要與LauncherProvider.AUTHORITY一致            android:authorities="com.csy.testlauncher.settings"            ....../>

接著修改AndroidManifest.xml中的自訂的Permission,修改包名首碼即可,如

[java]
view plaincopyprint?
  1. <permission  
  2.         android:name="com.android.launcher.INSTALL_SHORTCUT"  
  3.         ....../>  
<permission        android:name="com.android.launcher.INSTALL_SHORTCUT"        ....../>

改為:

[java]
view plaincopyprint?
  1. <permission  
  2.         android:name="com.android.launcherdebug.INSTALL_SHORTCUT"  
  3.         ...... />  
<permission        android:name="com.android.launcherdebug.INSTALL_SHORTCUT"        ...... />

至此,整個工程就可以順利的編譯運行了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.