横浜 Android プラットフォーム部
                 第 22 回勉強会

JellyBean のソースをとりあえず
      眺めてみた ( 手抜き )



                  2012/7/16
                     @l_b__
今日の内容
●   JellyBean が出たのでどう変わったか見てみ
    ましょう。
●   個人のビルドマシンを初期化して再構築中に
    ソース公開されたのであまり見られていませ
    ん。ツッコミ歓迎。
JB と ICS のトップレベルの差分
●   以下のディレクトリ追加。

       –   gdk
                 ●   ポータビリティに関連 ? Android.mk が空なのでビルドされな
                      い。
       –   libnativehelper
                 ●   JNI のヘッダ。 dakvik 以下にあったものが移動。
       –   pdk
                 ●   Platform Development Kit 。現在は Python スクリプトが 2
                       つだけ。
       –   prebuilts
                 ●   以前の prebuilt が prebuilt/prebults に分離した模様。
abi 、 bionic 、 bootable
●   ICS との大きな変更無さそう。
build
●   core/combo/arch/x86 追加
●   core/tasks 以下にファイル追加

        –   vendor_module_check.mk がちょっと気になる。
               ●   asus,audience,broadcom,csr,elan,google,i
                    mgtec,invensense,nvidia,nxp,samsung,sa
                    msung_arm,ti,trusted_logic,widevine
●   地味に mk ファイルも増えている。

        –   llvm とか pdk とか。
cts
●   build,hostsidetest,suite 追加
●   CTS 関連は誰か調べてくれると嬉しいなあ
dalvik
●   リンク先が platform/dalvik2 かと思ったら
    dalvik のままだった。 (master ブランチは
    dalvik2)
●   libnativehelper が上位に行った以外の構成変
    更は無し。
development
●   pdk が上位に移動。 ( で、内容が薄くなって
    いる )
●   samples から NFCDemo が無くなっている
    のが気になる。
device
●   asus(Nexus 7[Grouper]) 追加
●   generic に armv7-a,armv7a-neon 追加
●   Ti/panda の下も地味にサポートが増えてい
    る。
docs
●   source.android.com の変更に伴う修正くら
    い?
external
●   追加

         –   aac

         –   checkpolicy (SELinux Policy Compiler)

         –   chromium-trace

         –   cibu-font

         –   compiler-rt (compiler-rt.llvm.org runtime compiler support library)

         –   dexmaker (Java API for doing compile time or runtime code generation targeting the
                Dalvik.)

         –   eclipse-basebuilder (used to Eclipse Plugins.)

         –   eclipse-windowbuilder (is a powerful and easy to use bi-directional Java GUI
                 Designer.)

         –   ganymed-ssh2 (Java SSH2 Library.)

         –   gcc-demangle (a demangler for the g++ V3 ABI)

         –   hamcrest (Java object matcher library for testing frameworks.)
external

●   追加

         –   jmdns (Java implementation of multi-cast DNS)

         –   jmonkeyengine (Java OpenGL Game Engine)

         –   libmtp (Media Transfer Protocol Library)

         –   libselinux (SELinux Userspace Library)

         –   libsepol (SELinux Userspace Policy Manipulation Library)

         –   libusb

         –   libusb-compat (Compatibility Layer between libusb-0.1 and libusb-1.0)

         –   mdnsresponder (Apple's Bonjour Component)

         –   naver-fonts ( 空 )

         –   openfst (a library for weghted finite-state transducers.)

         –   openssh
external
●   追加

         –   regex-r2 (a regular expression library)

         –   sepolicy (SELinux Policy Definition File)

         –   smali (Assembler/Disassembler for dex format.)

         –   stressapptest ( 空 )

         –   zxing (QR Scanner)
●   削除

         –   collada (an XML-based Schema for transporting 3D assets
                between applications.)

         –   pcre (Perl-compatible regular expressionlibrary)
frameworks
●   av,mff,ml,native,rs,testing,wilhelm 追加、 media 削除

        –   av - base/media や media をまとめている。カメラ
              や
              Stagefright 、 DRM 、 MediaService 、 AudioFlin
              ger 等
        –   mff – ( 空 )
        –   native – base/build や一部
              cmds 、 OpenGL 、 SurfaceFlinger 、 libbinder
              等移動。
        –   rs - RenderScript 関連
frameworks
        –   testing – UIAutomator 追加
        –   wilhelm – OpenSL/ES,OpenMAX AL
             /system/media から移動
●   base/cmds

        –   content (ContentProvider の操作 )
        –   requestsync ( アカウント同期処理 )
●   base/libs

        –   androidfw
              (Asset,Backup,Input,Keymap,Obbfile,VelocityTr
              acker 等 )
frameworks
●   base/packages
       –   FakeOemFeatures (OEM システムアプリ追
            加用サンプル )
       –   InputDevices
             (QUERY_KEYBOARD_LAYOUT の
            BroadcastIntent 受信処理。何もしていな
            い)
Hardware,libcore,ndk
●   libcore から junit が消えた以外の構成の変更
    は無し。 (external/junit に統合 ?)
packages
●   apps
       –   LegacyCamera (Camera 変更、古い
            Camera がこれに )
●   providers
       –   GoogleContactsProvider 削除
       –   PartnerBookmarksProvider 追加
prebuilt
●   android-sh 削除
●   darwin-x86_64,windows_x86_64 が
    prebuilts に移動
●   ndk,sdk が prebuilts に移動
sdk
●   追加

         –   anttargetprint
         –   apigenerator
         –   apps/SdkController
         –   find_java
         –   find_lock
         –   manifmerger
         –   monitor
         –   settings
system
●   security 追加

        –   Framework/base/cmds/keystore が移動して機能強
              化
●   system/core

        –   fs_mgr FilesystemManager
        –   libcorkscrew Ptrace,Backtrace ライブラリ
        –   libion ION Memory Manager ライブラリ
        –   libsuspend デバイスサスペンドライブラリ
        –   libsync ハードウェア同期処理アクセスライブラリ
system
       –   nexus NetworkManager 削除
●   extras
       –   atrace /sys/kernel ベースのカーネルトレー
             サ
       –   cpustats /sys ベースの cpustats
●   media
       –   camera カメラメタデータライブラリ
●   中身の変更点を調査発表してくれる方がいる
    と嬉しいです。
●   以上。

JellyBeanのソースをとりあえず眺めてみた(手抜き)

  • 1.
    横浜 Android プラットフォーム部 第 22 回勉強会 JellyBean のソースをとりあえず 眺めてみた ( 手抜き ) 2012/7/16 @l_b__
  • 2.
    今日の内容 ● JellyBean が出たのでどう変わったか見てみ ましょう。 ● 個人のビルドマシンを初期化して再構築中に ソース公開されたのであまり見られていませ ん。ツッコミ歓迎。
  • 3.
    JB と ICSのトップレベルの差分 ● 以下のディレクトリ追加。 – gdk ● ポータビリティに関連 ? Android.mk が空なのでビルドされな い。 – libnativehelper ● JNI のヘッダ。 dakvik 以下にあったものが移動。 – pdk ● Platform Development Kit 。現在は Python スクリプトが 2 つだけ。 – prebuilts ● 以前の prebuilt が prebuilt/prebults に分離した模様。
  • 4.
    abi 、 bionic、 bootable ● ICS との大きな変更無さそう。
  • 5.
    build ● core/combo/arch/x86 追加 ● core/tasks 以下にファイル追加 – vendor_module_check.mk がちょっと気になる。 ● asus,audience,broadcom,csr,elan,google,i mgtec,invensense,nvidia,nxp,samsung,sa msung_arm,ti,trusted_logic,widevine ● 地味に mk ファイルも増えている。 – llvm とか pdk とか。
  • 6.
    cts ● build,hostsidetest,suite 追加 ● CTS 関連は誰か調べてくれると嬉しいなあ
  • 7.
    dalvik ● リンク先が platform/dalvik2 かと思ったら dalvik のままだった。 (master ブランチは dalvik2) ● libnativehelper が上位に行った以外の構成変 更は無し。
  • 8.
    development ● pdk が上位に移動。 ( で、内容が薄くなって いる ) ● samples から NFCDemo が無くなっている のが気になる。
  • 9.
    device ● asus(Nexus 7[Grouper]) 追加 ● generic に armv7-a,armv7a-neon 追加 ● Ti/panda の下も地味にサポートが増えてい る。
  • 10.
    docs ● source.android.com の変更に伴う修正くら い?
  • 11.
    external ● 追加 – aac – checkpolicy (SELinux Policy Compiler) – chromium-trace – cibu-font – compiler-rt (compiler-rt.llvm.org runtime compiler support library) – dexmaker (Java API for doing compile time or runtime code generation targeting the Dalvik.) – eclipse-basebuilder (used to Eclipse Plugins.) – eclipse-windowbuilder (is a powerful and easy to use bi-directional Java GUI Designer.) – ganymed-ssh2 (Java SSH2 Library.) – gcc-demangle (a demangler for the g++ V3 ABI) – hamcrest (Java object matcher library for testing frameworks.)
  • 12.
    external ● 追加 – jmdns (Java implementation of multi-cast DNS) – jmonkeyengine (Java OpenGL Game Engine) – libmtp (Media Transfer Protocol Library) – libselinux (SELinux Userspace Library) – libsepol (SELinux Userspace Policy Manipulation Library) – libusb – libusb-compat (Compatibility Layer between libusb-0.1 and libusb-1.0) – mdnsresponder (Apple's Bonjour Component) – naver-fonts ( 空 ) – openfst (a library for weghted finite-state transducers.) – openssh
  • 13.
    external ● 追加 – regex-r2 (a regular expression library) – sepolicy (SELinux Policy Definition File) – smali (Assembler/Disassembler for dex format.) – stressapptest ( 空 ) – zxing (QR Scanner) ● 削除 – collada (an XML-based Schema for transporting 3D assets between applications.) – pcre (Perl-compatible regular expressionlibrary)
  • 14.
    frameworks ● av,mff,ml,native,rs,testing,wilhelm 追加、 media 削除 – av - base/media や media をまとめている。カメラ や Stagefright 、 DRM 、 MediaService 、 AudioFlin ger 等 – mff – ( 空 ) – native – base/build や一部 cmds 、 OpenGL 、 SurfaceFlinger 、 libbinder 等移動。 – rs - RenderScript 関連
  • 15.
    frameworks – testing – UIAutomator 追加 – wilhelm – OpenSL/ES,OpenMAX AL /system/media から移動 ● base/cmds – content (ContentProvider の操作 ) – requestsync ( アカウント同期処理 ) ● base/libs – androidfw (Asset,Backup,Input,Keymap,Obbfile,VelocityTr acker 等 )
  • 16.
    frameworks ● base/packages – FakeOemFeatures (OEM システムアプリ追 加用サンプル ) – InputDevices (QUERY_KEYBOARD_LAYOUT の BroadcastIntent 受信処理。何もしていな い)
  • 17.
    Hardware,libcore,ndk ● libcore から junit が消えた以外の構成の変更 は無し。 (external/junit に統合 ?)
  • 18.
    packages ● apps – LegacyCamera (Camera 変更、古い Camera がこれに ) ● providers – GoogleContactsProvider 削除 – PartnerBookmarksProvider 追加
  • 19.
    prebuilt ● android-sh 削除 ● darwin-x86_64,windows_x86_64 が prebuilts に移動 ● ndk,sdk が prebuilts に移動
  • 20.
    sdk ● 追加 – anttargetprint – apigenerator – apps/SdkController – find_java – find_lock – manifmerger – monitor – settings
  • 21.
    system ● security 追加 – Framework/base/cmds/keystore が移動して機能強 化 ● system/core – fs_mgr FilesystemManager – libcorkscrew Ptrace,Backtrace ライブラリ – libion ION Memory Manager ライブラリ – libsuspend デバイスサスペンドライブラリ – libsync ハードウェア同期処理アクセスライブラリ
  • 22.
    system – nexus NetworkManager 削除 ● extras – atrace /sys/kernel ベースのカーネルトレー サ – cpustats /sys ベースの cpustats ● media – camera カメラメタデータライブラリ
  • 23.
    中身の変更点を調査発表してくれる方がいる と嬉しいです。 ● 以上。