最大のものは、カーネルと RIL (無線インターフェース層) です。
デバイスが異なれば、ハードウェアも異なります。ハードウェアが異なれば、必要なドライバーも異なります。類似したデバイスが 2 つある場合、兄弟デバイスで 1 つの OS を実行するためにほとんど変更を加える必要はありません。ただし、外見は同じに見えるハードウェアでも、内部は大幅に異なる場合があります。
プラットフォーム開発に携わりたい場合は、それを行っている何人かをフォローして、彼らが何をしているかを調べてください。 jt1134は、Samsung デバイスのカーネルおよびプラットフォーム開発の多くを行っています。CyanogenMod orgにも一見の価値のあるコードがたくさんあり、チームはソースからのビルドに関する詳細を説明 する wikiを持っています。
また、Freenode および Mod-a-droid サーバーの Android 開発 IRC ルームにも立ち寄ってください。質問することはできますが、常に答えを得られるとは限りません。freenode で jt1134 の PM を試すこともできます (彼がまだそこにたむろしている場合)。彼が何をしているのか知っていることを彼に納得させることができれば、彼はかなり反応します。
ここでは、従う必要があるプロセスの概要を示します。
マイルストーン:
0.5。開発環境をセットアップするhttp://source.android.com/source/initializing.html
- Samsung からカーネル ソースをダウンロードします。
- Linux カーネルをコンパイルします。
- source.android.comにあるすべての開発者向けドキュメントに目を通してください。
- googlesourceから Android プラットフォーム ソースをダウンロードします。
- デバイスに必要な変更を行います (たとえば、デバイスに特定のベンダー ファイル (ドライバー) が必要な場合や、カスタムの init スクリプトが必要な場合など)。
- Android プラットフォームをコンパイルします <-- これには長い時間がかかります
この後、デバイスでテストできる Android オープン ソース プロジェクトの OTA フラッシュ可能なコピーが必要です。このプロセスには、調査して落ち着くまでに約 1 か月かかりました。簡単な作業ではありません。幸運を祈ります。