Android
 Computer >> コンピューター >  >> トラブルシューティング >> Android

Android OpenSourceProjectからカスタムROMを構築する方法

Androidスマートフォンのルート化や、人気の高いCyanogenModやその後継のLineage OSなどのカスタムROMのダウンロードに精通している場合は、疑問に思われるかもしれません。人々はこれらのROMをどのように構築するのでしょうか。カスタマイズされたROMの開発には、正確にどのくらいの作業が必要ですか?

このガイドでは、独自のカスタムAndroidROMの開発の基本について説明します。これは大規模な作業であることに注意してください。Linux端末でのコーディングやだましの経験がまったくない場合は、このディープエンドに飛び込む前に、ある程度の知識を身に付けておくとよいでしょう。しかし、少なくともそれらの基本的な考え方があれば、できるだけ簡単に説明するように努めますので、フォローしてください。

基本的に、私たちが行っているのは rawをダウンロードすることです。 Androidソースコード(AOSP)とそれを私たちの好みに合わせて変更します。さまざまなデバイスから選択できるソースが非常に多いため、このガイドでは単にマスターを参照します。 ソース AOSP(Android Open Source Project)として知られています

AOSPについてのことは、純粋なソースコードが含まれていないということです。 デバイス固有のハードウェアプロパティ。素人の言葉で言えば、AOSPで開発する場合、カメラやGPUなどのハードウェアは「箱から出して」機能しません。実際、これらのハードウェアバイナリがないと、デバイスは起動しません。

Googleブランドのスマートフォン(Pixel、Nexusなど)用に開発している場合は、ハードウェアバイナリをGoogleから直接見つけることができます。このガイドでは、それらを取得してROMに組み込む方法について説明します。ただし、ブランドの携帯電話(Sony、Samsungなど)用のROMを開発している場合は、乗り物に乗っているので、心を祝福してください。

いくつか メーカーは独自のオープンソースプロジェクトを持っているか、開発者になるための開発ツールをリリースしていますが、他のメーカーは独自のコードを厳重に管理しています。人気のあるメーカーのオープンソースプロジェクトの簡単なリストは次のとおりです。

Samsungオープンソースリリースセンター
SonyDeveloper World
Lenovo Support
Huaweiオープンソースリリースセンター
MotorolaDevelopers

それが邪魔にならないように、GooglePixelデバイス用の最も基本的なバニラAndroidエクスペリエンス用のROMを構築しているという仮定の下で続けましょう。この知識があれば、自分で分岐して、特定のメーカーのROMのカスタマイズされたバージョンの開発を開始できます。

このガイドの要件:

  • Androidオープンソースプロジェクト
  • PixelXLスマートフォンまたは Linux用のAndroidエミュレーター
  • 64ビットLinuxオペレーティングシステム–UbuntuまたはLinuxMintは最も初心者に優しいディストリビューションですが、BBQLinuxは特にAndroid開発者を念頭に置いて開発されました。
  • Python
  • 頑丈なコンピューター(コードのコンパイルには多くのメモリとスペースが必要です!)

ビルド環境のセットアップ

LinuxマシンでAndroidエミュレーターをセットアップすることから始めましょう。 Google Pixel XLデバイスを使用しているかどうかに関係なく、Androidエミュレータで新しいROMを試すのが常に最も安全です。 デバイスにフラッシュします。私の個人的なお気に入りはGenymotionなので、その特定のエミュレーターのインストールについて説明します。ただし、このガイドの「ベストAndroidエミュレーター」もチェックしてください。ほとんどのエミュレーターはLinuxと互換性があります。

Genymotion Webサイトにアクセスし、アカウントを登録し、電子メールで確認して、実行可能ファイルをLinuxデスクトップにダウンロードします。

次に、Linuxターミナルを開き、次のように入力します。

Chmod + x genymotion-xxxxx.bin(xxxxをファイル名のバージョン番号に置き換えます)
./genymotion-xxxxxx.bin

Yを押します Genymotionディレクトリを作成します。次に、ターミナルに入力します:

cd genymotion &&./genymotion

ここで、インストールプロセスを開始するように求められるので、[仮想デバイスの追加]ウィンドウが表示されるまで[次へ]をクリックし続けます。 [デバイスモデル]オプションで[PixelXL]を選択し、インストールを完了します。必要に応じて仮想デバイスをテストできます。基本的には、デスクトップにPixelXLスマートフォンを置いているようなものです。

Pythonを設定しましょう:

$ apt-get install python

次に、LinuxマシンでJavaDevelopmentKitをセットアップする必要があります。 Linuxターミナルを開き、次のコマンドを入力します。

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

次に、USBデバイスアクセスを許可するようにLinuxシステムを構成する必要があります。 Linuxターミナルで次のコードを実行します。

Android OpenSourceProjectからカスタムROMを構築する方法

これにより、前述のUSBデバイスへのアクセスを許可する必要な51-android.txtファイルがダウンロードされます。 .txtファイルを開き、Linuxユーザー名が含まれるように変更してから、.txtファイルを次の場所に配置します。 Android OpenSourceProjectからカスタムROMを構築する方法 rootユーザーとして )。次に、新しいルールを自動的に有効にするために、USB経由でデバイスをコンピューターに接続します。

Androidソースのダウンロード

AOSPはGitでホストされているため、Repoというツールを使用してGitと通信します。

まず、ホームディレクトリに/binフォルダを設定する必要があります。 Linuxターミナルに次のコマンドを入力します。

$ mkdir〜/ bin
$ PATH =〜/ bin:$ PATH

次に、リポジトリツールをダウンロードするので、Linuxターミナルに入力します。

$ curl https://storage.googleapis.com/git-repo-downloads/repo>〜/ bin / repo
$ chmod a + x〜/ bin / repo

Repoをインストールしたら、作業ファイルを保持するための空のディレクトリを作成する必要があります。したがって、これをLinuxターミナルに入力します。

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

次に、名前とメールアドレスを使用してGitを構成します–定期的に確認するGmailアドレスを使用します そうしないと、Gerritコードレビューツールを使用できなくなります。

$ git config –global user.name“ Your Name”
$ git config –global user.email
you@gmail.com

次に、GitからAOSPの最新のマスターマニフェストをプルするようにRepoに指示します:

$ repo init -u https://android.googlesource.com/platform/manifest

正常に完了すると、作業ディレクトリでRepoが初期化されたことを示すメッセージが表示されます。 「.repo」もあります クライアントディレクトリ内のディレクトリ。そこで、Androidソースツリーを次のようにダウンロードします:

$ repo sync

Androidソースの構築

ここで、このガイドの冒頭で説明したハードウェアバイナリが役立ちます。 AOSPドライバーのページにアクセスして、Android 7.1.0(NDE63P)用のPixelXLバイナリをダウンロードしましょう。ベンダーイメージとハードウェアコンポーネントの両方をダウンロードする必要があります。これらは圧縮されたアーカイブとして提供されるため、デスクトップに解凍し、ルートフォルダーから自己解凍型スクリプトを実行します。以前に作成したWORKING_DIRECTORYのルートにバイナリをインストールすることを選択します。

次に、Linuxターミナルに入力します:

$ make clobber
$ source build / envsetup.sh

次に、ビルドするターゲットを選択するので、次のように入力します。

$昼食aosp_marlin-userdebug
$ setpaths
$ make –j4

そこで、ソースからAndroidROMを「構築」しました。それでは、ターミナルに入力して、エミュレータでテストしてみましょう。

$エミュレータ

ですから、エミュレーターで少し遊んでみてください。ご覧のとおり、純粋にバニラなAndroidエクスペリエンスはごくわずかであり、これがメーカーがAOSPをニーズに合わせてカスタマイズする理由です。だからあなたはできた 必要に応じて、デバイスに構築したばかりのこのROMをフラッシュしますが、拡張機能を追加しないと、純粋にバニラなAndroidエクスペリエンスは非常に退屈なものになります。

したがって、メーカーがAOSPで通常行うことは、フォーク、独自のバイナリの追加、UIのカスタマイズ、ブートロゴの追加などです。メーカーは基本的に、ストックのAndroid ROMにペイントするだけなので、それが次の目標にもなります。 。

このガイドの第2部では、フォント、テーマ、およびブートアニメーションをROMに追加する方法について説明しますので、ご期待ください。


  1. Android で MOBI ファイルを開く方法

    ほとんどの人は、実体化されたバージョンを持たなくても本を読むのが好きです。電子書籍は、いくつかの理由で外観が損なわれる可能性がある通常のペーパーバック バージョンよりも、持ち運びや読書がはるかに便利です。損傷したページで最終的にしわが寄る本を持ちたくない場合は、電子ブックを読むのを楽しむことができます. MOBIは、インターネット全体に広がっている有名な電子書籍ファイル形式の1つで、読者に読書の柔軟性を提供します.しかし、まず、Android で MOBI ファイルを開く方法を知っておく必要があります。また、AndroidでMOBIファイルを開いて読書を続けるためのさまざまなアプリがあります.

  2. Android にカスタム ROM をインストール中にエラー 7 TWRP を修正する方法

    カスタム Android ROM はスマートフォンのファームウェアであり、Android プラットフォームに基づいています。 Android はオープン ソース プラットフォームであるため、すべての開発者がコードを編集し、再コンパイルして、さまざまなデバイス向けに再リリースすることができます。 デバイスの外観と動作をパーソナライズしたい場合は、カスタム ROM をインストールできます。これらの ROM は Android コミュニティによって開発されており、そのほとんどは完全に無料です。カスタム ROM は、スマートフォン、スマートウォッチ、タブレットなど、Android で動作するほとんど