當前位置:編程學習大全網 - 源碼下載 - 怎麽編譯Chrome for Android

怎麽編譯Chrome for Android

編譯Chrome for Android目前有兩種方式,壹是在ROM編譯環境下編出libchromeview.so,二是用Chromium主幹的代碼編譯出ContentShell(壹個測試用的外殼,只包含核心的代碼,不包含Chrome的擴展特性,這兩種方式目前都只支持在64位Ubuntu下面進行。

--------------------------------------------------------------------------------

在ROM編譯環境下編出libchromeview.so

這種方式比較簡單,下載當前版本Chrome for Android的tarball,解壓後把Chrome目錄放入ROM目錄的$ROM/external下面,然後按照README.Chrome_for_Android_SourceDistribution裏面的說明進行編譯即可。

1.編譯出來的libchromeview.so,可以按照README.Chrome_for_Android_SourceDistribution說明打壹個新的Chrome.apk運行,也可以直接替換掉手機裏面/data/data/com.android.chrome/下面的libchromeview.so運行;

2.不知道是不是版本不匹配的關系,用最新的Chrome搭配自己編譯的libchromeview.so,復雜的網頁會崩潰,簡單的網頁就還OK;

3.可以輸出日誌(#include "/base/logging.h"),但是沒法調試和跟蹤(理論上應該可以使用命令行gdb進行調試,不過配置起來應該比較麻煩,沒有去嘗試);

--------------------------------------------------------------------------------

用Chromium主幹的代碼編譯出ContentShell

這種方式比較麻煩

1.下載Chromium的tarball後需要使用gclient sync -nohooks同步新的代碼,tarball裏面的svn記錄是1.6版本的,如果妳的svn是1.7版本,需要先downgrade到1.6版本;

2.同步最新代碼的時候,如果提示guava和jsr-305這兩個目錄同步錯誤,需要先移除$SRC/third_party/guava和$SRC/third_party/jsr-305後再重新同步(後續新的tarball應該不需要了);

3.gclient runhooks壹直失敗,不過貌似也不影響編譯;

4.如果編譯時提示缺少$SRC/build/util/LASTCHANGE文件,可以從上面的Chrome for Android的tarball裏面copy過來;

5.運行build/android/adb_gdb_content_shell就可以使用gdb進行調試;

6.adb_gdb_content_shell實際上調用了adb_gdb,adb_gdb在中文Ubuntu環境下有壹個bug,第861行”if [ "$STATE" != "Running" ]; then“可能會失敗,因為在中文環境STATE實際值可能是”運行中“,這壹行需要改成”if [ "$STATE" != "運行中" ]; then“;

  • 上一篇:主曲線的算法研究
  • 下一篇:如何使用瀏覽器上的視頻?
  • copyright 2024編程學習大全網