2017-04-24 3 views

答えて

5

ここでは、Androidソースをダウンロードしたときに見つかるものの短いバージョンです。

  • Android用Cランタイム。 AndroidはほとんどのLinuxディストリビューションと同様に glibcを使用していないことに注意してください。その代わりに、c-ライブラリは バイオニックと呼ばれ、主にBSD由来のソースに基づいています。このフォルダには、 には、Cライブラリ、数学、およびその他のコアランタイム ライブラリのソースがあります。
  • ブート可能ブートおよび起動関連コード。その一部は旧式ですが、 ファストブートプロトコルの情報は、Nexus などのデバイスの多くでブートローダによって実装された であるため、面白いかもしれません。
  • ビルド - すべてのコアメイクを含むビルドシステムの実装 ファイルテンプレート。ここで重要なファイルはenvsetup.shスクリプト です。これは、プラットフォームのソースを扱う際に多くの手助けをします。
    このスクリプトをシェルで実行すると、コマンドは 環境変数を設定し、特定のモジュールをビルドし、grepをソースコード ファイルに設定できるようになります。
  • Cts - 互換性テスト。テストスイートは、 ビルドがAndroid仕様に準拠していることを確認します。
  • のDalvik - のDalvik仮想マシン
  • 開発を実現するためのソースコード - などSDKとNDKツールのソースコード として開発に関連したプロジェクト。ターゲットのプラットフォームで作業中の のときは、通常はフォルダに触れません。
  • デバイス - デバイスごとに異なる製品固有のコード。これは 異なるNexusデバイス用のハードウェアモジュールを見つける場所で、 の設定などを構築します。
  • 外部 - すべての外部オープンソースプロジェクト (SQLite、Freetype、webkitなど)のソースコードが含まれています。
  • フレームワーク - フレームワークのソースである が含まれているため、このフォルダはAndroidにとって不可欠です。ここでは、Package ServerやActivity Managerを使用したSystem Serverなどの主要なサービスの実装を見つけることができます。 JavaアプリケーションAPIとネイティブライブラリの間の多くのマッピングもここで行われます。

  • ハードウェアハードウェア関連のソースコード(Androidハードウェアなど) 抽象レイヤーの仕様と実装。このフォルダ には、(モデム側に を通信するための)参照無線インターフェイスレイヤが含まれています。 libcore - Apache Harmony。 libnativehelper - JNIで使用するヘルパー関数。 (Kernel) - デフォルトのソースダウンロードに含まれていませんが、手動でダウンロードするか、リポジトリをrepoツールに追加することで、このコードにアクセスできます。 Androidカーネルの Android版のソースが含まれています。

  • Out - makeを実行すると、ビルド出力がここに配置されます。 フォルダー構造はout/target/product /です。エミュレータのデフォルトビルドでは、出力はout/target/product/genericに配置されます。 これは、エミュレータが を開始するために使用するイメージ(またはハードウェアターゲットを に構築する場合は、デバイスにダウンロードされてフラッシュされるイメージ)を示します。

  • パッケージ - 連絡先、カレンダー、ブラウザなどのデフォルトアプリケーションのソースコードが含まれています。

  • 事前ビルド - 便宜のためにバイナリ形式で配布されるファイルが含まれています。例としては、さまざまな開発マシン用のクロスコンパイルツールチェーンがあります。

  • システム - コアAndroidシステム用のソースコードファイル。つまり、Dalvik VMより前に起動され、Javaベースのサービスが有効になっている最小のLinuxシステム です。これには、initプロセスのソースコードとプラットフォームの動的構成を提供するデフォルトのinit.rcスクリプトが含まれます。

  • ツール - さまざまなIDEツール。

上記以外にも、repoユーティリティのソースを含む隠し.repoディレクトリがあります。また、このAndroidソースプロジェクトを追跡するgitリポジトリを指定するマニフェストも保持します。独自の追加機能がある場合は、ここにローカルマニフェストを追加して自動的に追加することができます。

プラットフォームフレームワークを変更するには、ソースコードツリーのdevice/sampleフォルダにいくつかの指示があります。これは、コアフレームワークを変更することなく、AndroidにAPIを追加する方法を示します。

参考文献:

How to understand the directory structure of android root tree?

Master-android

関連する問題