<HOME

Androidのソースコードプロジェクトの構成について30分


Androidのソースコードプロジェクトについて簡単に説明します。

今回は「android-7.0.0_r1」のソースコードをベースに説明します。Androidのバージョンにより若干の差異があります。

  • ダウンロードしたソースコードのディレクトリ構成は次のようになっています。

    ├ abi
    ├ art
    ├ bionic
    ├ bootable
    ├ build
    ├ cts
    ├ dalvik
    ├ developers
    ├ development
    ├ device
    ├ docs
    ├ external
    ├ frameworks
    ├ hardware
    ├ kernel
    ├ libcore
    ├ libnativehelper
    ├ ndk
    ├ packages
    ├ pdk
    ├ platform_testing
    ├ prebuilts
    ├ sdk
    ├ system
    ├ toolchain
    ├ tools
    
  • プリインアプリ開発では、以下のディレクトリがよく参照されます。

    • packages/apps

      主要なアプリのソースコードが格納されています。

    • frameworks/base/packages

      SystemUIなど、共通系の動作を扱うアプリのソースコードが格納されています。

    • packages/providers

      アプリや、TelephonyManager等の各SystemServiceが使用するProviderのソースコードが格納されています。

    • frameworks/base/core

      Activityや各Viewなど、基本的なFramework APIに関わるソースコード等が格納されています。

      アプリ開発に一部ミドル開発も含まれる場合や、不具合解析の際に参照することになるケースがあります。

    • external

      「Native C/C++ Libraries」のソースコード等が格納されています。

      アプリ開発に一部ミドル開発も含まれる場合や、不具合解析の際に参照することになるケースがあります。

  • ミドル部の開発では、以下のディレクトリがよく参照されます。

    • frameworks

      「Java API Framework」のソースコード等が格納されています。

    • external

      「Native C/C++ Libraries」のソースコード等が格納されています。

    • kernel

      「Linux Kernel」のソースコード等が格納されています。

      不具合解析の際に参照することになるケースがあります。

    • packages

      「System Apps」のソースコード等が格納されています。

      不具合解析の際に参照することになるケースがあります。

  • ドライバの開発では、以下のディレクトリがよく参照されます。

    • kernel

      「Linux Kernel」のソースコード等が格納されています。

  • 各ディレクトリについて説明します。

    • abi

      確認中

    • art

      「Android Runtime」のソースコード等が格納されています。

    • bionic

      確認中

    • bootable

      確認中

    • build

      ビルド時に使用するソースコード等が格納されています。

    • cts

      「CTS」(Compatibility Test Suite)生成に使用するソースコード等が格納されています。

    • dalvik

      確認中

    • developers

      確認中

    • development

      確認中

    • device

      確認中

    • docs

      確認中

    • external

      「Native C/C++ Libraries」のソースコード等が格納されています。

    • frameworks

      「Java API Framework」のソースコード等が格納されています。

    • hardware

      確認中

    • kernel

      「Linux Kernel」のソースコード等が格納されています。

    • libcore

      「Native C/C++ Libraries」の「Libc」にあたるソースコード等が格納されています。

    • libnativehelper

      確認中

    • ndk

      NDKビルド時に使用するソースコード等が格納されています。

    • packages

      「System Apps」のソースコード等が格納されています。

    • pdk

      確認中

    • platform_testing

      確認中

    • prebuilts

      ビルド時に使用するソースコード等が格納されています。

    • sdk

      SDKビルド時に使用するソースコード等が格納されています。

    • system

      確認中

    • toolchain

      確認中

    • tools

      確認中