0

たとえば、Samsung i9100g の Cyanogen Mod 10 と i9100 の CM 10 の違いの具体例を誰か教えてください。

私の知る限り、それらは異なるハードウェアを使用しているため、ドライバーが異なります。その結果、HAL は他のドライバーとは大きく異なります。ただし、例にはおそらく数行のコードが含まれていると思います。

多くの人が Android の移植/開発を始めたいと思っていて、何をどのように変更/変更したらよいかわからないことを認識しています。私もその 1 人です。この質問の答えはそれらにとって有益だと思います。

4

1 に答える 1

3

最大のものは、カーネルと 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

  1. Samsung からカーネル ソースをダウンロードします。
  2. Linux カーネルをコンパイルします。
  3. source.android.comにあるすべての開発者向けドキュメントに目を通してください。
  4. googlesourceから Android プラットフォーム ソースをダウンロードします。
  5. デバイスに必要な変更を行います (たとえば、デバイスに特定のベンダー ファイル (ドライバー) が必要な場合や、カスタムの init スクリプトが必要な場合など)。
  6. Android プラットフォームをコンパイルします <-- これには長い時間がかかります

この後、デバイスでテストできる Android オープン ソース プロジェクトの OTA フラッシュ可能なコピーが必要です。このプロセスには、調査して落ち着くまでに約 1 か月かかりました。簡単な作業ではありません。幸運を祈ります。

于 2012-12-07T20:57:26.757 に答える