編輯:關於Android編程
~$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
添加 depots_tools 路徑到環境變量 PATH,假設當前 depots_tools 路徑為 /home/levono/depot_tools,則在~/.bashrc在添加:
export PATH=$PATH:/home/levono/depot_tools
使配置生效:
~$source ~/.bashrc
~$mkdir ~/chromium && cd ~/chromium
~/chromium$ fetch --nohooks --no-history android
如果中途下載中斷:
~/chromium$ gclient sync --nohooks
整個代碼下載下來大概16G
1.配置GYP
如果你選擇使用GYP,需要創建一個名為 chromium.gyp_env 的文件
~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android target_arch=arm', }" > chromium.gyp_env
~/chromium$ gclient runhooks
以上參數中的target_arch表示構建的平台,可選”arm”, “ia32″(x86架構), “mipsel”(MIPS架構)
2.配置GN
如果你選擇使用GN,那麼需要創建一個編譯目錄:
~/chromium/src$ gn args out/Default
在彈出的編輯器中寫入:
target_os = "android"
target_cpu = "arm" # (default)
is_debug = true # (default)
# Other args you may want to set:
is_component_build = true
is_clang = true
symbol_level = 1 # Faster build with fewer symbols. -g1 rather than -g2
enable_incremental_javac = true # Much faster; experimental
~/chromium/src$ build/install-build-deps-android.sh
確保 OpenJDK 1.7 為默認
sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws
sudo update-alternatives --config javap
sudo update-alternatives --config jar
sudo update-alternatives --config jarsigner
然後同步目錄文件
~/chromium/src$ gclient sync
如果下面的 adb_install_apk.py 腳本失敗,確保aapt在你的PATH中,如果沒有需要添加到環境變量中。
/path/to/src/third_party/android_tools/sdk/build-tools/{latest_version}/
將安卓手機通過USB線插入電腦,通過以下命令檢測一下能否連接成功
third_party/android_tools/sdk/platform-tools/adb devices
1.初始化環境
~/chromium/src$ . build/android/envsetup.sh
2.編譯完整浏覽器
GYP編譯
~/chromium/src$ ninja -C out/Release chrome_public_apk
GYP安裝
~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/ChromePublic.apk
GN編譯
~/chromium/src$ ninja -C out/Default chrome_public_apk
GN安裝
~/chromium/src$ build/android/adb_install_apk.py out/Default/apks/ChromePublic.apk
以GYP編譯為例,如果為GN編譯路徑改為GN的路徑即可
~/chromium/src$ ninja -C out/Release content_shell_apk
~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/ContentShell.apk
提示: 這將會在 out/Release/apks/ContentShell.apk 構建並安裝一個安卓的apk安裝包。對於GYP來說,如果你想生成一個調試版本可以修改Release為Debug,如果是GN那麼就要修改為你自己設置的名稱。
AndroidWebView 是一個系統的框架組件,Android KitKat基於chromium的 content模塊 實現的。 WebView的外殼是頂部一個 URL地址欄 加上一個在Android系統中獨立的WebView。
~/chromium/src$ ninja -C out/Release android_webview_apk
~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/AndroidWebView.apk
GN’s “incremental install” uses reflection and side-loading to speed up the edit & deploy cycle (normally < 10 seconds).
Make sure to set is_component_build = true in your GN args
All apk targets have *_incremental targets defined (e.g. chrome_public_apk_incremental)
例如:
~/chromium/src$ ninja -C out/Default chrome_public_apk_incremental
~/chromium/src$ out/Default/bin/install_chrome_public_apk_incremental -v
For gunit tests (note that run_*_incremental automatically add –fast-local-dev when calling test_runner.py):
~/chromium/src$ ninja -C out/Default base_unittests_incremental
~/chromium/src$ out/Default/bin/run_base_unittests_incremental
For instrumentation tests:
~/chromium/src$ ninja -C out/Default chrome_public_test_apk_incremental
~/chromium/src$ out/Default/bin/run_chrome_public_test_apk_incremental
卸載:
~/chromium/src$ out/Default/bin/install_chrome_public_apk_incremental -v --uninstall
本文介紹了一個使用Handler的Android應用程序,通過該程序,我們可以了解Handler的基本用法。該程序運行效果如下: 點擊But
Builder模式是一種設計模式,最初被介紹於《設計模式:可復用面向對象軟件的基礎》,目前在Java及Android中用處更是十分廣泛,因此基本的了解與學習應當掌握。一.
上一篇把簡單的一些概念理一理,還畫了個圈,那這一篇講一下圖像遮蓋“Xfermode”和Canvas的旋轉。平移等效果Xfermode:AvoidX
Line靜音自拍APP“B612”是一款自拍專用APP,專門用於自拍,且不會發出快門聲。該應用使用簡單,拍照之前無需像傳統拍照軟件那