使用AndroidFrameworks開發和應用隱藏類 or Android使用自訂framework開發與應用

來源:互聯網
上載者:User

標籤:

Android眼下代表系統的開源手機作業系統已經更新到4.0.3版本號碼。由於其開源特性。使得作業系統本身所具有的最大的靈活性,但同時也引起的版本號碼的多樣性,市場上出現的是手機廠商或ROM。可是怎樣開發Android系統framework層那。我們知道使用Eclipse+ADT就能夠進行Android 應用的開發。使用手機或模擬器進行對應效果的調試。

這是標準的應用開發流程,但在為定製ROM開發定製APK時,常常面對的是使用改動過的Framework。最常見的情況是將原來在Framework中@hide的介面開發。或者增加自己定義的新介面。我們知道使用這樣的介面在Eclipse中會直接報錯,根本不能進行編譯更不用說進行代碼的跟蹤與調試了。事實上這裡能夠使用對應的JAVA檔案編譯得來的.class放入Eclips lib引用庫並提高調用優先順序。就能夠跨越這道屏障,進行應用的開發。順序例如以下:

在project的Build Path 中,AddExternal Class Folder中選擇對應的.class檔案夾路徑,別忘了增加後,再在Order中將調用的class放在系統framework.jar之前,這樣就能夠完畢相關的編譯工作。並能夠在手機上正常執行。但有一點須要注意,要想使用定製的Framework相關介面。須要手機系統支援。

也就是對應的手機已經帶有對應的ROM才幹正常調用這部分介面。

而相關的.class檔案就是在進行系統原始碼編譯時間對應的包(out\target\common\obj\)下中間代碼。須要依據介面原始碼位置,在對應的檔案夾尋找。

假設不想這麼麻煩,能夠直接替換整個framework代碼!

,檔案夾為out\target\common\obj\JAVA_LIBRARIES\framework_intermediates,在以下有classes-full-debug.jar,這個就是未經壓縮的jar包了,裡面有全部的fraemwork原始碼產生的.class檔案了。

1.在你須要用到的project中:

點擊Build path。點擊Add Libraries:

選擇User Library,點擊Next:

點擊User Libraries:

點擊New:

在New User Library對話方塊中輸入一個名字。能夠自己隨意命名,這裡取名Myframework。勾選上:system library。點擊OK,這樣就不必去尋找對應的.class檔案,直接使用新framework介面的方法了。

1.選中Android應用的project-右鍵-Properties-Libraries-Add Library;彈出“Add Library”對話方塊。選擇“User Libraries...”。(圖1)


圖1


2.彈出“User Libraries”對話方塊;點擊“New”。彈出“New User Library”對話方塊:建立Library的名稱(“FrameworksJar4.2.2”,library的名字可自己定義),並選中“system library(add to the boot class path)”,點擊OK(圖2)


圖2


3.(圖3)在“User Libraries”對話方塊,能夠看到建立的“FrameworksJar4.2.2”自己定義的庫名稱。點擊“Add External JARs...”(選擇 classes-full-debug.jar,前提是已編譯Android原始碼,擷取了該jar檔案);


圖3


4.圖4中能夠看到,自己定義的庫“FrameworksJar4.2.2”已經與classes-full-debug.jar相關聯。

點擊圖4的“OK”。圖5的“Finish”;


圖4


圖5


5.能夠看到Java Build Path下的“Libraries”標籤頁,多了剛才建立的“FrameworksJar4.2.2”庫(圖6)。


圖6


6.須要在Java Build Path下的“Order and Export”標籤頁下,top “FrameworkJar4.2.2”。否則,project可能會編譯只是。

7.在Android應用的project中也能夠看到(圖7),該“FrameworksJar4.2.2”庫能夠被project使用。


圖7


注意:

1.假設直接在Java Build Path下的“Libraries”標籤頁。選擇“Add External Jar...”,並加入“classes-full-debug.jar”。調試project什麼時候,可能會出現卡住,彈出 “Java Heap Space”錯誤。

使用AndroidFrameworks開發和應用隱藏類 or Android使用自訂framework開發與應用

聯繫我們

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