SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
ソースを読む会
              Chromium のソースをさわってみる。
              ごめんなさい今回はさわるだけです。

               2012/08/21 くまだす @kumadasu



12年8月21日火曜日                                1
発表までの経緯

  • 最初は Android    on Pandaboard のカメラ周りのソースを
     いじるつもりだったけど優先したい事案発生。

  • Ubuntu    on Pandaboard 向けに新しい Chromium をビルド
     したい。(まだうまくいっていない)

  • ソースを読む会とあまりに関係ないので Android             版にち
     ょっと手を出してみた

12年8月21日火曜日                                        2
CHROMIUM


  • Chrome    のオープンソース版

  • デスクトップ版Chromiumは何が違うのかわからない


  • ARM, Android   もビルド方法公開中...?



12年8月21日火曜日                        3
ANDROID 版 CHROMIUM?
                 ビルド環境
  • Ubuntu12.04 少し新しすぎるかもでも可能


  • 64bit 多分必須


  • メモリ4GB、スワップ8GB      推奨

  • Virtualboxの上でもできた



12年8月21日火曜日                     4
BUILD INSTRUCTION

  • http://code.google.com/p/chromium/wiki/
     AndroidBuildInstructions

  • ここにすべてが書いてある


  • リンクで結構飛ばされるけどね


  • ふんふん言いながら進めているとビルド中に衝撃の事

     実発覚

12年8月21日火曜日                                   5
BEFORE




12年8月21日火曜日            6
!!!


              At this time, a full compile does not build
                  the browser. It only builds unit test
              bundles. As more code becomes available
                in the public Chromium source, more
                         targets will be added.




12年8月21日火曜日                                                 7
AFTER




  • 今のところフルコンパイルしてもブラウザにならない

     よ。ユニットテスト単位だよ。Chromiumのコードがも
     っと公開されたらターゲット増えていくよ。

12年8月21日火曜日                         8
目標



  • Android   版 Chromium のソースコードが公開されたらい
     ち早くビルドできるようになる。




12年8月21日火曜日                                9
ビルドの流れ

  • 開発に必要なツールの取得


  • Chromium   のソースコードの取得

  • Android   のビルドに必要なパッケージの取得

  • ビルド



12年8月21日火曜日                      10
必要なツールの取得(1)

  • まずUbuntuのパッケージ


     • 用意されたスクリプトを使うと楽。


  •$   wget http://src.chromium.org/svn/trunk/src/build/install-build-
     deps.sh

  •$    chmod +x install-build-deps.sh

  •$    sudo ./install-build-deps.sh

12年8月21日火曜日                                                              11
必要なツールの取得(2)

  • depot_tools      の取得

     •$   git clone https://git.chromium.org/chromium/tools/
        depot_tools.git

  • パスの設定(必要なら                   ~/.bashrcへ)

     •$       export PATH="$PATH":`pwd`/depot_tools


12年8月21日火曜日                                                    12
DEPOT_TOOLS の中身

  • Google謹製の便利ツール集?(お馴染みrepoも含む)


  • gclient     : git, svn のすごいやつ?コード取得後に後処理
     のスクリプトが勝手に走っているような気もする。

  • gyp       : configure のすごいやつ。

  • ninja     : make のすごいやつ。(わからないので未使用)

12年8月21日火曜日                                    13
ソースコードの取得

  •$    cd ~/chromium

  •$    gclient config https://src.chromium.org/chrome/trunk/src

  • $ svn     ls https://src.chromium.org/chrome

  • 編集→~/chromium/.gclient


  • シンク(後述)


12年8月21日火曜日                                                       14
.GCLIENT の編集
      solutions = [                                                   テストコードの
        { "name"        : "src",
           "url"     : "http://src.chromium.org/svn/trunk/src",        取得を省略
           "deps_file" : "DEPS",
           "managed" : True,
           "custom_deps" : {
           "src/third_party/WebKit/LayoutTests": None,
           "src/chrome/tools/test/reference_build/chrome_win": None,
           "src/chrome_frame/tools/test/reference_build/chrome_win": None,
           "src/chrome/tools/test/reference_build/chrome_linux": None,
           "src/chrome/tools/test/reference_build/chrome_mac": None,
           "src/third_party/hunspell_dictionaries": None,
           },
           "safesync_url": "http://chromium-status.appspot.com/lkgr", Android関係の
        },
      ]
      target_os = ['android']
                                                                      ソースを含める

12年8月21日火曜日                                                                        15
ソースコードの取得の続き
                                      そのままsyncするとhook
                                       が走って二度手間?


  •$    gclient sync -j8 --nohooks

  •$    . build/android/envsetup.sh

  •$    gclient runhooks               ここの . と build の間
                                        のスペース超重要


12年8月21日火曜日                                               16
ANDROID のビルドに必要な
                    パッケージの取得
  • cd   ~/chromium/src/build

  • sudo      ./install-build-deps-android.sh

     • これが         ant1.8 が見つからないといって止まる。

     • java   のパッケージも見つからない

     • これらを越えてもなんかエラーがでる。


12年8月21日火曜日                                     17
スクリプトの修正

  • install-build-deps-android.sh

  • Ubuntu12.04        では ant1.8 が標準になり名前が ant になっ
     てる。

  •#    Install deps

  • sudo      apt-get -y install python-pexpect ant1.8 xvfb x11-utils


12年8月21日火曜日                                                             18
JAVA のインストール準備

  • Oracle      Java になってから少し手順が面倒

  • cd   ~/

  • wget   https://github.com/flexiondotorg/oab-java6/raw/0.2.5/
     oab-java.sh -O oab-java.sh

  • chmod       +x oab-java.sh

  • sudo      ./oab-java.sh

12年8月21日火曜日                                                       19
改めてスクリプトの実行

  • sudo      ./install-build-deps-android.sh

  • 下のようなエラーがでるけど無視してよし。


  • WARNING: java-6-sun          has no alternatives for the following
     plugins:

  • update-alternatives: error: no     alternatives for mozilla-
     javaplugin.so.


12年8月21日火曜日                                                              20
コンフィグ&ビルド!


  •$    cd ~/chromium/src

  •$    . build/android/envsetup.sh

  •$    android_gyp

  •$    make -j8



12年8月21日火曜日                           21
テスト実行

  • いずれもpythonスクリプトで実行


  • 実機およびエミュレータでテスト可能 らしい


     • Running Tests

     • Running   Instrumentation Tests

     • Content   Shell (in development)

12年8月21日火曜日                               22
ビルド後のフォルダ容量



  • 18.9GB




12年8月21日火曜日                 23
これを応用すると...

  • Linux, Mac, Win

  • 32bit, 64bit, ARM

  • Chromium    OS!

     • http://dev.chromium.org/chromium-os/developer-
        guide#TOC-Decide-where-your-source-will-live


12年8月21日火曜日                                             24
CHROMIUM OS のビルド




12年8月21日火曜日                  25
CHROMIUM OS のビルド

  • Ubuntu     上で chroot 使って Gentoo? っぽい環境を作って
     開発。

  • 手順が結構複雑ですが興味があればぜひ


  • 私は        Pandaboard のオプション使ってやってみたけど、
     ビルドイメージがうまく動かなかった。


12年8月21日火曜日                                      26
感想

  • 公式ページの情報が一部古い


  • なんかおかしいと思ったら最下部のコメント欄にヒン

     トがあるかも。

  • Pandaboard   な Linux 向け Chromium のビルドはまだうま
     く行っていない。ビルドはできているけど実行時の no
     such file or directory に悩まされてる。

12年8月21日火曜日                                      27
参考資料

  • http://code.google.com/p/chromium/wiki/
     AndroidBuildInstructions

  • http://code.google.com/p/chromium/wiki/
     LinuxBuildInstructions

  • http://dev.chromium.org/developers/how-tos/get-the-code

  • http://dev.chromium.org/developers/how-tos/install-depot-
     tools

12年8月21日火曜日                                                     28

Weitere ähnliche Inhalte

Ähnlich wie Chromium androidビルド

NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxTomoki SHISHIKURA
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすshobomaru
 
Docker handson
Docker handsonDocker handson
Docker handsonkoda3
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN kamiyam .
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
すごいぞ!Google Chrome
すごいぞ!Google Chromeすごいぞ!Google Chrome
すごいぞ!Google ChromeEigoro Yamamura
 
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したいパフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したいzaru sakuraba
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)Yoshi Sakai
 
Google Chrome on Android を自動実行
Google Chrome on Android を自動実行Google Chrome on Android を自動実行
Google Chrome on Android を自動実行洋史 東平
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools KnowledgeShinobu Okano
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションKazuhiro Hara
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesYukiya Hayashi
 
FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編Hirohisa Yamaguchi
 
CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-toolNaruto TAKAHASHI
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)l_b__
 
“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上Naoto Ono
 

Ähnlich wie Chromium androidビルド (20)

Aiming study#6pdf
Aiming study#6pdfAiming study#6pdf
Aiming study#6pdf
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
 
Docker handson
Docker handsonDocker handson
Docker handson
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
すごいぞ!Google Chrome
すごいぞ!Google Chromeすごいぞ!Google Chrome
すごいぞ!Google Chrome
 
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したいパフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したい
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)
 
Google Chrome on Android を自動実行
Google Chrome on Android を自動実行Google Chrome on Android を自動実行
Google Chrome on Android を自動実行
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools Knowledge
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
 
FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編
 
CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-tool
 
Code Anything
Code AnythingCode Anything
Code Anything
 
JUC2012
JUC2012JUC2012
JUC2012
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
 
“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上
 

Mehr von Hiroshi Sakate

GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...
GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...
GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...Hiroshi Sakate
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Hiroshi Sakate
 
ディープラーニングを活用したジェスチャー認識
ディープラーニングを活用したジェスチャー認識ディープラーニングを活用したジェスチャー認識
ディープラーニングを活用したジェスチャー認識Hiroshi Sakate
 
Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectHiroshi Sakate
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxHiroshi Sakate
 
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門Hiroshi Sakate
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaHiroshi Sakate
 

Mehr von Hiroshi Sakate (7)

GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...
GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...
GA勉強会#1 幾何学的代数に関する特許とアメリカの特許制度, The patents related to Geometric Algebra and ...
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)
 
ディープラーニングを活用したジェスチャー認識
ディープラーニングを活用したジェスチャー認識ディープラーニングを活用したジェスチャー認識
ディープラーニングを活用したジェスチャー認識
 
Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto Project
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linux
 
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
 

Kürzlich hochgeladen

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (12)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Chromium androidビルド

  • 1. ソースを読む会 Chromium のソースをさわってみる。 ごめんなさい今回はさわるだけです。 2012/08/21 くまだす @kumadasu 12年8月21日火曜日 1
  • 2. 発表までの経緯 • 最初は Android on Pandaboard のカメラ周りのソースを いじるつもりだったけど優先したい事案発生。 • Ubuntu on Pandaboard 向けに新しい Chromium をビルド したい。(まだうまくいっていない) • ソースを読む会とあまりに関係ないので Android 版にち ょっと手を出してみた 12年8月21日火曜日 2
  • 3. CHROMIUM • Chrome のオープンソース版 • デスクトップ版Chromiumは何が違うのかわからない • ARM, Android もビルド方法公開中...? 12年8月21日火曜日 3
  • 4. ANDROID 版 CHROMIUM? ビルド環境 • Ubuntu12.04 少し新しすぎるかもでも可能 • 64bit 多分必須 • メモリ4GB、スワップ8GB 推奨 • Virtualboxの上でもできた 12年8月21日火曜日 4
  • 5. BUILD INSTRUCTION • http://code.google.com/p/chromium/wiki/ AndroidBuildInstructions • ここにすべてが書いてある • リンクで結構飛ばされるけどね • ふんふん言いながら進めているとビルド中に衝撃の事 実発覚 12年8月21日火曜日 5
  • 7. !!! At this time, a full compile does not build the browser. It only builds unit test bundles. As more code becomes available in the public Chromium source, more targets will be added. 12年8月21日火曜日 7
  • 8. AFTER • 今のところフルコンパイルしてもブラウザにならない よ。ユニットテスト単位だよ。Chromiumのコードがも っと公開されたらターゲット増えていくよ。 12年8月21日火曜日 8
  • 9. 目標 • Android 版 Chromium のソースコードが公開されたらい ち早くビルドできるようになる。 12年8月21日火曜日 9
  • 10. ビルドの流れ • 開発に必要なツールの取得 • Chromium のソースコードの取得 • Android のビルドに必要なパッケージの取得 • ビルド 12年8月21日火曜日 10
  • 11. 必要なツールの取得(1) • まずUbuntuのパッケージ • 用意されたスクリプトを使うと楽。 •$ wget http://src.chromium.org/svn/trunk/src/build/install-build- deps.sh •$ chmod +x install-build-deps.sh •$ sudo ./install-build-deps.sh 12年8月21日火曜日 11
  • 12. 必要なツールの取得(2) • depot_tools の取得 •$ git clone https://git.chromium.org/chromium/tools/ depot_tools.git • パスの設定(必要なら ~/.bashrcへ) •$ export PATH="$PATH":`pwd`/depot_tools 12年8月21日火曜日 12
  • 13. DEPOT_TOOLS の中身 • Google謹製の便利ツール集?(お馴染みrepoも含む) • gclient : git, svn のすごいやつ?コード取得後に後処理 のスクリプトが勝手に走っているような気もする。 • gyp : configure のすごいやつ。 • ninja : make のすごいやつ。(わからないので未使用) 12年8月21日火曜日 13
  • 14. ソースコードの取得 •$ cd ~/chromium •$ gclient config https://src.chromium.org/chrome/trunk/src • $ svn ls https://src.chromium.org/chrome • 編集→~/chromium/.gclient • シンク(後述) 12年8月21日火曜日 14
  • 15. .GCLIENT の編集 solutions = [ テストコードの { "name" : "src", "url" : "http://src.chromium.org/svn/trunk/src", 取得を省略 "deps_file" : "DEPS", "managed" : True, "custom_deps" : { "src/third_party/WebKit/LayoutTests": None, "src/chrome/tools/test/reference_build/chrome_win": None, "src/chrome_frame/tools/test/reference_build/chrome_win": None, "src/chrome/tools/test/reference_build/chrome_linux": None, "src/chrome/tools/test/reference_build/chrome_mac": None, "src/third_party/hunspell_dictionaries": None, }, "safesync_url": "http://chromium-status.appspot.com/lkgr", Android関係の }, ] target_os = ['android'] ソースを含める 12年8月21日火曜日 15
  • 16. ソースコードの取得の続き そのままsyncするとhook が走って二度手間? •$ gclient sync -j8 --nohooks •$ . build/android/envsetup.sh •$ gclient runhooks ここの . と build の間 のスペース超重要 12年8月21日火曜日 16
  • 17. ANDROID のビルドに必要な パッケージの取得 • cd ~/chromium/src/build • sudo ./install-build-deps-android.sh • これが ant1.8 が見つからないといって止まる。 • java のパッケージも見つからない • これらを越えてもなんかエラーがでる。 12年8月21日火曜日 17
  • 18. スクリプトの修正 • install-build-deps-android.sh • Ubuntu12.04 では ant1.8 が標準になり名前が ant になっ てる。 •# Install deps • sudo apt-get -y install python-pexpect ant1.8 xvfb x11-utils 12年8月21日火曜日 18
  • 19. JAVA のインストール準備 • Oracle Java になってから少し手順が面倒 • cd ~/ • wget https://github.com/flexiondotorg/oab-java6/raw/0.2.5/ oab-java.sh -O oab-java.sh • chmod +x oab-java.sh • sudo ./oab-java.sh 12年8月21日火曜日 19
  • 20. 改めてスクリプトの実行 • sudo ./install-build-deps-android.sh • 下のようなエラーがでるけど無視してよし。 • WARNING: java-6-sun has no alternatives for the following plugins: • update-alternatives: error: no alternatives for mozilla- javaplugin.so. 12年8月21日火曜日 20
  • 21. コンフィグ&ビルド! •$ cd ~/chromium/src •$ . build/android/envsetup.sh •$ android_gyp •$ make -j8 12年8月21日火曜日 21
  • 22. テスト実行 • いずれもpythonスクリプトで実行 • 実機およびエミュレータでテスト可能 らしい • Running Tests • Running Instrumentation Tests • Content Shell (in development) 12年8月21日火曜日 22
  • 23. ビルド後のフォルダ容量 • 18.9GB 12年8月21日火曜日 23
  • 24. これを応用すると... • Linux, Mac, Win • 32bit, 64bit, ARM • Chromium OS! • http://dev.chromium.org/chromium-os/developer- guide#TOC-Decide-where-your-source-will-live 12年8月21日火曜日 24
  • 26. CHROMIUM OS のビルド • Ubuntu 上で chroot 使って Gentoo? っぽい環境を作って 開発。 • 手順が結構複雑ですが興味があればぜひ • 私は Pandaboard のオプション使ってやってみたけど、 ビルドイメージがうまく動かなかった。 12年8月21日火曜日 26
  • 27. 感想 • 公式ページの情報が一部古い • なんかおかしいと思ったら最下部のコメント欄にヒン トがあるかも。 • Pandaboard な Linux 向け Chromium のビルドはまだうま く行っていない。ビルドはできているけど実行時の no such file or directory に悩まされてる。 12年8月21日火曜日 27
  • 28. 参考資料 • http://code.google.com/p/chromium/wiki/ AndroidBuildInstructions • http://code.google.com/p/chromium/wiki/ LinuxBuildInstructions • http://dev.chromium.org/developers/how-tos/get-the-code • http://dev.chromium.org/developers/how-tos/install-depot- tools 12年8月21日火曜日 28