• グローバル・ナビゲーションへスキップ
  • メインコンテンツへスキップ
  • プライマリーサイドバーへスキップ
  • フッターへスキップ

テクリラ

ブリーディングエッジ、常に

  • ホーム
  • 概要
  • お問い合わせ
  • お得な情報とオファー
テクリラ ロゴ
シェアする
ツイートする
シェアする
ピン
83 株式
アナクロニア
次に

2019年の最後のRuneScape開発

ソースコードからAndroidROMをコンパイルする

テクリラ モバイル Android

DIY:ソースコードからAndroidROMをコンパイルする

シャウナク・グハライのアバター シャウナク・グハライ
最終更新日: January 9, 2022

Androidは、世界で最も広く使用されているモバイルオペレーティングシステムです。 そして最良の部分は、完全にオープンソースであるということです。つまり、素人の言葉で言えば、実際のプログラムであるソースコードは、誰もが自分のROMをダウンロード、カスタマイズ、構築できるようにオープンに利用できます。

そこにはたくさんのカスタムAndroidディストリビューションがあり、人気のあるものはCyanogenMod、SlimROM、Paranoid Android、AOKP、Liquid Smooth、MIUI、Xylon、Ice ColdJellyなどです。

今日のガイドでは、最も人気のあるAndroidアフターマーケットROMであるCyanogenMod10.2をコンパイルします。 手順は、そこにあるすべてのカスタムROMで99%同じであるため、このガイドは、他のROMをコンパイルするためのリファレンスとしても使用できます。

前提条件

  1. すぐに利用できるカーネルとデバイスソースを備え、すでにルート化されており、カスタムリカバリがインストールされているAndroidフォン。
  2. 64ビットLinuxディストリビューション(Ubuntuをお勧めします)。
  3. ハードディスクに少なくとも100GBの空き容量があります。
  4. Linuxターミナルコマンドの実用的な知識。
  5. 適度に速いインターネット接続。

注記: 64ビットのLinuxOSは必須であり、仮想マシンではなくネイティブインストールである必要があります。

ビルドマシンをセットアップする

1.選択したLinuxOSをインストールします。 公式の指示によると、64ビットバージョン。 (ガイドでは、Ubuntu 13.04を実行していることを前提としています)。 100GBのスワップパーティションで少なくとも16GBのパーティションを維持します。

2.次のパッケージのリストをインストールします。 ターミナルアプリを開き、次のように入力します

[html] sudo apt-get install [/ html]

Enterキーを押すと、パスワードの入力を求められます。

パッケージ一覧

[html]
git-コア
グング
フレックス
バイソン
パイソン
RAR
オリジナル-awk
ガック
p7zip-フル
gperf
libsdl1.2-dev
libesd0-dev
libwxgtk2.6-dev
squashfs-ツール
ビルドに不可欠な
ZIP
curl
libncurses5-dev
zlib1g-dev
Pngcrush
スケジュールツール
libc6-dev
x11proto-core-dev
libx11-dev
libg11-mesa-dev
mingw32
トフロドス
python-マークダウン
libxml2-utils
g ++-multilib
lib32z1-dev
ia32-libs
lib32ncurses5-dev
lib32readline-gplv2-dev
gcc-multilib
g ++-multilib
xsltproc
[/ HTML]

3. Linux1.6ビット用のJavaJDK64をインストールします。 ファイル名はjdk-6u ##である必要があります-linux-x64.bin、##はバージョン番号です。 ダウンロードしたパッケージをホームディレクトリに移動します。 ターミナルアプリを開き、次の一連のコマンドを実行します。

[html]
sudoapt-getパージopenjdk-\ * icedtea- \ * icedtea6- \ *
sudo mkdir –p / opt / java / 64 /
sudo cp jdk-6u ##-linux-x64.bin / opt / java / 64
南に-
cd / opt / java / 64
chmod a + x jdk-6u ##-linux-x64.bin
./jdk-6u##-linux-x64.bin
終了する
[/ HTML]

ここで、JDKパスを.bashrcに追加する必要があります

[html]
sudo gedit〜/ .bashrc
[/ HTML]

テキストファイルの最後にこれらの行を追加します

[html]
#Javaパス
export JAVA_HOME = / opt / java / 64 / jdk1.6.0 _ ##
PATH = $ PATH:$ JAVA_HOME / binをエクスポートします
[/ HTML]

4. AndroidSDKをインストールします。 ターミナルアプリを開く

[html]
CD〜
mkdir android && cd android
mkdir SDK
[/ HTML]

からAndroidSDKをダウンロード http://developer.android.com/sdk/index.html。 パッケージの内容を〜/ android / sdkに抽出します。AndroidSDKパスを.bashrcに追加する必要があります。

[html]
sudo gedit〜/ .bashrc
[/ HTML]

次の行をテキストファイルの末尾に追加します。

[html]
#AndroidSDKパス
PATH = $ PATH:〜/ android / sdkをエクスポートします
export PATH = $ PATH:〜/ android / sdk / platform-tools
PATH = $ PATH:〜/ android / sdk / toolsをエクスポートします
[/ HTML]

次に、次のように入力してAndroidSDKツールをインストールします

[html]
アンドロイド
[/ HTML]

5.githubアカウントとリモートリポジトリを設定します。 CyanogenModが電話を公式にサポートしている場合は、この手順をスキップできます。 github.comにアクセスして、自分のアカウントを作成します。 このガイドでは、ユーザー名を「ユーザー」と見なしています。

'github.com/CyanogenMod/android'にアクセスし、フォークを押します。 リモートマニフェストはフォークされ、個人のリポジトリで利用できるようになります。

次に、「github.com/user/android」にアクセスします。 default.xmlファイルを開き、[編集]を押します。 この行を見つけます:

[html]

[/ HTML]

そしてこれを

[html]

[/ HTML]

Android 4.3のデバイスのカーネルソース、デバイスソース、ベンダーライブラリを

[html]
github.com/user2/kernel_source
github.com/user2/device_source
github.com/user2/device-common_source
github.com/user2/vendor
[/ HTML]

ブランチの名前は「jb4.3」であると想定しています。 正確な名前は実際のリポジトリで確認できます。 次に、ファイルの最後にこれらの行を追加し、デバイスのソースコードに従って変更します。

[html]




[/ HTML]

変更をコミットします。 リモートマニフェストをデプロイする準備ができました。

6.リポジトリコマンドをインストールします。 ターミナルを開いて入力します

[html]
CD〜
mkdir〜 / bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo>〜/ bin / repo
chmod a + x〜 / bin / repo
[/ HTML]

.bashrcにリポジトリパスを追加する必要があります

[html]
sudo gedit〜/ .bashrc
[/ HTML]

この行をテキストファイルの最後に追加します

[html]
PATH = $ PATH:〜/ binをエクスポートします
[/ HTML]

7.ROMソースコードを取得します。 ターミナルを開いて入力します

[html]
mkdir〜 / android / cm
cd〜 / android / cm
[/ HTML]

手順5が必要な場合は、次のように入力します

[html]
repo init –u git://github.com/user/android.git –b cm-10.2
[/ HTML]

お使いのデバイスがCyanogenMod10.2を正式にサポートしている場合は、次のように入力します

[html]
repo init –u git://github.com/CyanogenMod/android.git –b cm-10.2
[/ HTML]

今すぐ実行する

[html]
リポジトリ同期–j16
[/ HTML]

コーヒーや食事を取りに行ってください、それは長い時間がかかるでしょう。 ソースコードのサイズは10GBをはるかに超えているため、かなり時間がかかります。

ソースの取得

8.デバイス固有のものを設定します。 お使いのデバイスがCyanogenMod10.2を正式にサポートしている場合は、ターミナルを開いて次のように入力します

[html]
cd〜 / android / cm
。 build / envsetup.sh &&朝食
[/ HTML]

しばらく時間がかかります。デバイスソースのサイズは約3GBです。 次に、公式のCM10.2を電話にインストールし、USBデバッグモードでPCに接続して、次のコマンドを実行する必要があります。

[html]
adbルート
cd〜 / android / cm / device / / /
./extract-files.sh
[/ HTML]

お使いのデバイスがCyanogenMod10.2を公式にサポートしていない場合、このステップでは何もする必要はありません。ソースはすでにあなたを待っています。

9.ビルド済みのものをダウンロードし、ツールチェーンを設定します。 ターミナルを開いて入力します

[html]
cd〜 / android / cm / vendor / cm
sh ./get-prebuilts
[/ HTML]

ここで、ツールチェーンパスを./bashrcに追加する必要があります

[html]
cd〜 / android / cm
sudo gedit〜/ .bashrc
[/ HTML]

これらの行をテキストファイルの最後に追加します

[html]
#Androidツールチェーン
エクスポートARCH = arm
CCOMPILE = $ CROSS_COMPILEをエクスポートします
エクスポートCROSS_COMPILE = arm-eabi-
export PATH = $ PATH:〜/ android / cm / prebuilt / linux-x86 / toolchain / arm-eabi-4.4.3 / bin
[/ HTML]

10.ROMを構築します。 だから、すべてが大丈夫で準備ができています。 ROMを構築する時が来ました。 ターミナルを開いて入力します

[html]
cd〜 / android / cm
。 build / envsetup.sh
ブランチ
[/ HTML]

昼寝をする時間です。 平均的なコンピューターでROMを構築するには、数十億年かかるでしょう。 まあ、それは誇張でしたが、私の自宅のPC(5GBRAMを搭載したCorei2第8世代)では、最初から構築するのに3時間以上かかります。 うまくいけば、エラーは発生せず、ビルドは正常に完了します。 で出力パッケージを取得します

[html]
〜/ android / cm / out / target / product / /cm-10.2-何か-非公式- 。ジップ
[/ HTML]

新しくコンパイルしたROMを携帯電話にインストールする時が来ました。 適切なAndroidバージョンについては、「www.goo.im/gapps」からGoogleAppsパッケージをダウンロードしてください。 これらのパッケージを両方とも携帯電話に入れ、リカバリモードでフラッシュします。 出来上がり、あなた自身のコンパイルされたROMがあなたのデバイスを実行しています。

さて、あなたはROMをコンパイルする方法を学びました。 んで、どうする?

ソースROMを更新する

ローカルにダウンロードしたソースコードに新しいソースコードの更新をフェッチするには、ターミナルを開いて次のように入力します

[html]
cd〜 / android / cm
リポジトリ同期–j16
[/ HTML]

ROMをビルドするには、ソースコードを更新した後、ターミナルを開いて、次のように入力します。

[html]
cd〜 / android / cm
installcleanを作成します
find ./out/ -name'build.prop '| xargs rm
./out/ -name'cm_を検索します-target_files-eng。*。zip '| xargs rm
。 build / envsetup.sh
ブランチ
[/ HTML]

ゼロから再構築するのではなく、そのまま再構築するため、時間は大幅に短縮され、ほとんどの場合、約15〜30分しかかかりません。 ローカルソースを最新の状態に保つために、毎週かそこらでローカルソースを同期する必要があります。

参照
デバイスがルート化されていますか? 今何をする …

作業ディレクトリをクリーンアップする

作業ディレクトリを完全にクリーンアップするには(読み取り:ソースフォルダをストック状態に戻します)、ターミナルを開いて次のコマンドを入力します。

[html]
cd〜 / android / cm
installcleanを作成します
クローバーを作る
[/ HTML]

これらのコマンドを実行すると、すべての出力データが削除されるため、すべてが最初から再構築されるため、次の構築には3〜4時間かかることに注意してください。 ハードディスクのパーティションが小さい場合、たとえば約100GBの場合は、4ビルドごとに約XNUMX回作業ディレクトリをクリーンアップする必要があります。そうしないと、ハードディスクの空き容量が不足します。

CCACHEによるビルドのスピードアップ

ROMの構築には時間がかかります。 ただし、CCACHEを使用すると、時間を約30〜45%短縮できます。 CCACHEはコンパイラキャッシュの略で、以前のビルドからのコンパイル出力をキャッシュして、後のビルドで再利用できるようにします。

CCACHEは、コンテンツをキャッシュするためにハードディスク上に多くのスペースを必要とするため、ハードディスクパーティションが200GB以上の近くにある場合にのみ推奨されることに注意してください。 CCACHEを設定するには、ターミナルを開いて次のように入力します。

[html]
cd〜 / android / cm
USE_CCACHE = 1をエクスポートします
CACHE_DIR =〜/ .ccacheをエクスポートします
prebuilts / misc / linux-x86 / ccache / ccache –M 50G
[/ HTML]

CCACHEへの最大サイズ割り当てを50GBから任意のサイズに変更できますが、良好な結果を得るには、最小で約30GBを使用する必要があります。

他のROMからコミットをフェッチする

他のROMソースコードから機能を選択できます。 たとえば、リポジトリ「github.com/user/reporepo」からコミットID「12345」の機能Aを選択するとします。

ローカルソースコードのパッケージに移動し、ターミナルでこれらを実行します。

[html]
cd〜 /
git フェッチ https://github.com/user/reporepo
git Cherry-pick 12345
[/ HTML]

参照
10ルート化されたAndroid携帯用のアプリが必要

有名なAndroidカスタムROMディストリビューションのソースコードリンク

CyanogenMod – https://github.com/CyanogenMod
スリムROM – https://github.com/SlimRoms
ParanoidAndroid – https://github.com/ParanoidAndroid
アオク – https://github.com/AOKP
リキッドスムーズ – https://github.com/liquidsmooth
ザイロン ROM –
アイスコールドゼリー – https://github.com/IceColdJelly

つまり、AndroidAOSPベースのROMを10の簡単なステップでコンパイルするためのシンプルでわかりやすいガイドです。 私のガイドはCyanogenModに焦点を当てていますが、リポジトリリンクを変更するだけで、ほぼすべてのAOSPROMをコンパイルできます。 または、機能を選択してコミットし、変更して独自のパーソナライズされたROMを作成し、ROMをオンラインで共有することもできますか?

シェアする
ツイートする
シェアする
ピン
83 株式

情報開示: TechLila で公開されたコンテンツは読者サポートです。 アフィリエイト リンクを通じて行われた購入に対して、追加費用なしでコミッションを受け取る場合があります。 私たちを読む 免責事項ページ 私たちの資金調達、編集方針、および私たちをサポートする方法についての詳細を知るために。

共有は思いやりです

シェアする
ツイートする
シェアする
ピン
83 株式
シャウナク・グハライのアバター

シャウナク・グハライ

シャウナク・グハライ はYoutuberであり、競争力のあるコーダーであり、コルカタのAndroid開発者です。 彼の興味は、携帯電話、コンピューター、ゲームに関係するものから多岐にわたります。

カテゴリー

  • Android

タグ

アンドロイドロム

リーダーの相互作用

人々が言っ​​ていること

  1. ヴィシュヴァストの化身ヴィシュヴァスト

    こんにちは今日この記事をありがとうこのアンドロイドの世界は流行のように広がっているので素敵な記事

    返信
  2. ジュリー・ラレスの化身ジュリーラ音

    印象的な作品! アプリ用に独自のコードを作成したいです。

    返信
  3. ジェシカのアバタージェシカ

    私はこのコードを見るのが大好きですが、このコードの一部が理解できません。

    返信
  4. シャンタンデブのアバターシャンタンデブ

    hii Shaunak、
    Androidは本当に全世界に広がっています。 そしてこの素晴らしい投稿に感謝します

    返信
  5. スージー・ランプマンのアバタースージーランプマン

    素晴らしい。 さて、これらの用語しか理解できなかったとしたら。 次に、AndroidROMをコンパイルできます

    返信

コメントを追加 返信をキャンセル

あなたのメールアドレスは公開されません。 必須フィールドは、マークされています *

プライマリサイドバー

おすすめ

Windowsでブロードバンド速度を上げる方法

10年のベストAndroidランチャー2023

Windows 10のインストール後に行うこと– Windows10のヒントとコツ

あなたが個人的にウェブを検索するために使うことができるトップ10の検索エンジン

あなたの心を吹き飛ばす55の興味深いコンピューターの事実

ラップトップを購入するときに何を探すべきか–ラップトップ購入ガイド

FusionドライブとSSD–FusionとSSDストレージについて誰も教えてくれないこと

便利なツール

• 文法 – 無料の文法チェッカー
• SEMrush – 専門家が信頼する最高の SEO ツール
• Setapp – Mac と iOS のワンストップ サブスクリプション

トレンドトピック

  • Android
  • インターネット
  • アイフォン
  • Linux
  • マッキントッシュ
  • セキュリティ
  • ソーシャルメディア
  • テクノロジー
  • Windows

チェックする価値がある

Windows 10 (10 Edition!) 向けの 2023 のベスト サウンド イコライザー

強く推奨され、無料である14の最高のVLCスキン

フッターロゴ フッターテキストのロゴ

フッター

概要

こんにちは。TechLilaへようこそ。TechLilaは、基本をマスターするための豊富な記事を見つけることができる有名なテクノロジーブログです。

TechLilaの主な目標は、品質のヒントやコツ、チュートリアル、Windows、Macintosh、Linux、Android、iPhone、セキュリティに関するハウツーガイド、レビューなどのその他のサブトピックなど、独自の情報を提供することです。

リンク

  • 概要
  • お問い合わせ
  • 免責条項
  • プライバシーポリシー
  • ご利用規約

続きます

GenesisFrameworkを使用したカスタムテーマ

Cloudwaysによるクラウドホスティング

言語設定

©著作権2012–2023 テクリラ。すべての内容は著作権を有します。