Logo ja.androidermagazine.com
Logo ja.androidermagazine.com

週末プロジェクト:Androidスマートフォン用にmozillaのブートをgeckoにビルドする

目次:

Anonim

私はコーダーではありません。 私はG ot からGをほとんど知らないので、なぜ adb が機能しないのか不思議に思った回数を思い出せませんが、USBデバッグをオンにするのを忘れたことがわかりました。 ここにはLinuxが搭載されていますが、5分間でJerryに半ダースの質問を投げたいという気分になったときだけ使用します。

また、私は首ひげを持っていません。

幅広いスポーツの世界で、MacBook AirにXcodeをダウンロードして(この春までずっとWindowsの男だったということは気にしないでください)、Gitリポジトリから同期し、コードをコンパイルし、オペレーティングシステムをフラッシュします私はこれまで意識的に無視してきました。特に、病気の子供に対処し、病気の友人を心配し、ハリケーンの可能性に備えて、実際の仕事をほとんど無視して24時間を費やしたことを考えると、

どうやら、点滅に問題があります。 それで、最近、「Gecko」としても知られるMozillaの駆け出しのオペレーティングシステムをSamsung Nexus Sに搭載したことに気付きました。

Boot to Geckoプロジェクトへようこそ。

私が言ったように、私はコーダーではありません。 しかし、私は物事を台無しにするのが好きです。 若い娘たちが言いたいように、私はこれをなんとかして…すべて…によって…私の…自己。 そして、あなたもできます。

待って-なんでこんなことするの?

これは、週末プロジェクトと呼ぶシリーズの最初のものです。 他の方法では試みないかもしれないこと。 しかし、私たちができるなら、あなたもできます。

とはいえ、ここであなたのためにやらないことはいくつかあります。 これは、Boot to Geckoプロジェクトをビルドしてフラッシュする方法の詳細な説明にはなりません。 私の経験を大まかに説明します。 Mozillaにはいくつかの優れたドキュメントがあります。これを試してみる場合は、必ず読んでください。 (また、翻訳のすべてを正しく行うこともできないでしょう。)

もう1つやらないことは、ClockworkModでフラッシュ可能な、他の誰かのビルドを指すことです。 自分で検索できます。 私がやりたかったのは、実際に自分で電話への自分自身の変曲でこれをコンパイルすることでした。

それが私がしたことです。

必要なリンク

Googleはあなたの友達です。 「B2G」を簡単に検索すると、必要なものがすべて見つかりました。

  • Mozilla-Geckoを起動します(B2Gのオタク以外の説明用)
  • Mozilla Developer NetworkのB2G(実際の作業はここから始まります)
  • Boot to Geckoのビルドとインストール

OK-今、一体何をしているの?

Mozillaによると、ゼロから構築するには、MacまたはLinuxマシンが必要です。 ここに両方あります。 しかし、Macの指示は簡単に見えました。 (そのことに恥はありませんよね?)しかし、それも理にかなっています。 Linuxを実行している場合は、Mozillaにリストされているすべてのツールを簡単にインストールできます。 私? そんなにない。 だからMacだった。

私にとってこれは本当に簡単でした。MacApp StoreからXcodeをインストールし、ターミナルを起動していくつかのコマンドを実行します。 Androidで十分にいじくり回しました。 Mozillaには、必要なものをすべてインストールする素晴らしいスクリプトがあります。 次に、gitリポジトリを同期し、コードをコンパイルして、他のカスタムROMと同様にAndroidデバイスにフラッシュします。 (そして、Mozillaはその最後の部分のスクリプトも持っており、物事をさらに簡単にします。)

構築しているターゲットデバイスに関しては、オプションがあります。 Mozillaはそれらを3つの層に分割しました。

  • Tier 1: Otoro(Mozillaが使用しているある種の開発デバイス); パンダボード; ARMまたはx86エミュレーター。 またはデスクトップ。 私が探していたものではありません。
  • ティア2: Samsung Nexus SおよびNexus S 4G。 ここで共通のテーマを感じます。 簡単にロック解除できない電話。Mozillaは、これらが「二次的に」変更を取り上げていると言います。 Nexus Sを敷設しているので、それが目的です。
  • ティア3: Samsung Galaxy S2およびGalaxy Nexus。 人々はいじくり回していますが、Tier 2がベストショットです。

だから、それは戦いの半分です。 B2Gをダウンロード、コンパイル、フラッシュします。

そこにはいくつかの選択肢もありました。 1つは、Linuxボックス上でビルドすることです。 Mozillaは、必要なすべての必要なツールを詳しく説明していますが、それらを入手する場所を示していません。 私はLinux n00bであり、それは悪いことです。 あるディストリビューションまたは別のディストリビューションを使用する残りのオタクのほとんどにとって、それはそれほど重要ではないはずです。

もう1つのオプションは、Mac上でビルドすることです。 そして、Mozillaはそれを愚かにシンプルにしました。

それでどうやってやったの?

繰り返しになりますが、これはMacで行いました。 そして、ひげを生やしていない首でさえも従うことができたほんのいくつかの基本的なステップがありました。

  1. Macの開発環境であるXcodeをインストールする必要がありました。
  2. Homebrew for Macをインストールしました。
  3. Mozillaが提供するスクリプトを実行し、他の前提条件を確認し、必要に応じてインストールするように促しました。

この時点で、Mozillaの指示は、Xcodeをインストールしてからスクリプトを実行するだけでよいことを示しているように見えます。 残りは自分で処理します。 しかし、最初にHomebrewをインストールする必要がありました。 それが私がしたこと(またはしなかった)のせいなのか、何のためなのかはわかりません。 しかし、それは私のために働いた方法です。

次:Gitからすべてのコードを取得します。 これは、ターミナルに別の数行をコピーして貼り付けるのと同じくらい簡単でした。 クール。

次に、コンパイルします。

さて、これらの最後のいくつかのステップには時間がかかりました。 どのくらいの長さかわかりません。 私は離れて行った。 コーヒーを作りました。 いくつか使いました。 本を書いた。 私の小さなMacBook Airではしばらく時間がかかりました。 期待した。 これは過度に難しいプロジェクトではありませんが、過度に迅速でもありません。 私は物事のコースを実行し、MBAの新しい「B2G」ディレクトリにフラッシュ可能なイメージを作成しました。

フラッシュする時間

そう。 Nexus Sを入手する時間です。もちろん、ロックされていないブートローダーが必要であり、Android 4.0 Ice Cream Sandwichを実行する必要があります。 (MozillaはJelly Beanについて何も言っていませんが、私もそれを使って動作するようにしました。それほど驚くことではありません。)

電話をfastbootモードで起動し、接続します。Androidでこれまで行ったことは何もありません。

今、再び、Mozillaはこれを本当に簡単にしました。 私はパス変数の修正を気にしませんでしたので、adbとfastbootは通常、Android SDKの1つのフォルダー内に存在します。 私はそれに対処できます。 Mozillaはすべてをスマートに組み込みました。 しかし、さらに良いのは、すべてを実行する小さなスクリプトを作成したことです。 ブートローダーがロック解除されているかどうかを確認します。 消去する必要があるすべてのパーティションを消去します。 次に、新しい画像をフラッシュします。 完全に実践的。 それは私が自分でできなかったことではありませんが、たまに怠け者でなければ、私は何者でもありません。 乾杯、Mozilla。

再起動して、ブーム。 Geckoを起動しました。

まとめて、何を手に入れましたか?

そして今、私たちの労働の成果のために。

結論

これが、Samsung Nexus SでのMozillaのGeckoへのブートです。実際、悪いプロジェクトではありません。 数時間、Nexus Sとハードドライブの空きスペースが必要でしたが、脳への負担はそれほど大きくありませんでした。 携帯端末にフラッシュしたら、カスタムAndroidリカバリを使用してバックアップし、好きなように行き来できます。

これを難易度スケールで10点中6点にしたのは、コードのコンパイルに関して自分が何をしているか本当に分からないからです。 しかし、私は指示を非常によく守っていて、Mozillaは物事をすてきで簡単にしました。 これはあなたが自分で試すことができるものです。

リンクを使用して、購入の手数料を獲得する場合があります。 もっと詳しく知る。