android4.0瀏覽器在eclipse中編譯的方法

來源:互聯網
上載者:User

工程源碼:http://download.csdn.net/detail/victoryckl/4990533

注意:

如果下載已經修過的源碼,只要進行3、4、8步驟就應該可以了。
eclipse版本:adt-bundle-windows (Android Developer Tools Build: v21.0.0-519525)

1.從android4.0系統的代碼中拷貝一份瀏覽器的代碼,到本地檔案夾,並重新命名為BrowserEclipse:
<android4.0源碼>/package/apps/Browser  -->  <本地目錄>/BrowserEclipse
  

2.在eclipse中匯入工程BrowserEclipse。
菜單File-import,選擇Android-Existing Android Code Into Workspace。
瀏覽檔案夾,並選擇工程的根目錄:<本地目錄>/BrowserEclipse。
去掉tests工程的勾選按鈕,暫時不管tests工程。
重新命名工程:選擇工程,滑鼠右鍵菜單-Refactor-Rename,輸入BrowserEclipse。
此時,工程中會有很多錯誤,暫時不用理睬。

3.添加庫檔案。

從編譯通過的android4.0源碼的out目錄中拷貝相應的檔案到BrowserEclipse的systemlib路徑下,檔案如下:
BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\classes.jar
BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\android-support-v13_intermediates\classes.jar
BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\android-support-v4_intermediates\classes.jar
BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\core_intermediates\classes.jar

BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar

在eclispe中重新整理下工程,再選擇工程,滑鼠右鍵菜單-Build Path-Configure Build Path,
在Libraries頁面中,選擇Add Library-User Libraries-New,輸入庫名稱systemlib,並勾選輸入框下面的“System Library”。

回到User Libraries視窗,選擇建立立的systemlib,點擊按鈕“Add JARs”,把systemlib\檔案夾下面的五個classes.jar都添加進去。

一路OK按鈕,回到Java Build Path介面,選擇Order and Export頁面,選擇建立立systemlib,點擊Top按鈕,頂到第一位,OK。

4.設定Java Compiler版本為1.6。
再選擇工程,滑鼠右鍵菜單-Properties-Java Compiler,選擇1.6

5.屏蔽一些代碼。
經過第3步驟,回到eclipse編輯介面,重新整理工程,此時大部分的錯誤已經解決,僅剩少數幾個錯誤,把這些錯誤地方屏蔽掉,即可:
屏蔽EventLogTags相關的行:
BrowserEclipse\src\com\android\browser\LogTag.java;
屏蔽VisibleForTesting相關的行:
BrowserEclipse\src\com\android\browser\BrowserActivity.java
BrowserEclipse\src\com\android\browser\provider\BrowserProvider2.java
BrowserEclipse\src\com\android\browser\autocomplete\SuggestedTextController.java
此時,應該沒有編譯錯誤了。

6.增加一個java檔案,避免執行階段錯誤:
BrowserEclipse\src\com\android\common\content\SyncStateContentProviderHelper.java
來自android4.0源碼:
frameworks\ex\common\java\com\android\common\content\SyncStateContentProviderHelper.java

7.修改BrowserEclipse\AndroidManifest.xml,增加<uses-sdk android:minSdkVersion="14"/>
修改BrowserEclipse\project.properties中的target屬性值,設定為target=android-14

8.卸載系統應用Broser.apk,安裝BrowserEclipse.apk。
這裡需要先把機器root,才能進行,這個apk只能在android4.0的系統中運行正常,在4.1中不能運行。
先備份/system/app/Browser.apk和Browser.odex,拷貝到/sdcard即可。
刪除/system/app/Browser.apk和Browser.odex,重啟機器。
安裝BrowserEclipse.apk,查看效果。

相關文章

聯繫我們

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