23
JellyBean のソースをとりあえず 眺めてみた ( 手抜き ) 横浜 Android プラットフォーム部 第 22 回勉強会 2012/7/16 @l_b__

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

  • Upload
    lb

  • View
    3.677

  • Download
    3

Embed Size (px)

DESCRIPTION

横浜Androidプラットフォーム部 第22回勉強会での発表資料です。

Citation preview

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

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

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

2012/7/16@l_b__

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

今日の内容● JellyBean が出たのでどう変わったか見てみ

ましょう。● 個人のビルドマシンを初期化して再構築中に

ソース公開されたのであまり見られていません。ツッコミ歓迎。

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

JBと ICSのトップレベルの差分● 以下のディレクトリ追加。

– gdk

● ポータビリティに関連 ? Android.mk が空なのでビルドされない。

– libnativehelper

● JNI のヘッダ。 dakvik 以下にあったものが移動。

– pdk

● Platform Development Kit 。現在は Python スクリプトが 2つだけ。

– prebuilts

● 以前の prebuilt が prebuilt/prebults に分離した模様。

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

abi 、 bionic 、 bootable● ICS との大きな変更無さそう。

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

build● core/combo/arch/x86 追加

● core/tasks 以下にファイル追加

– vendor_module_check.mk がちょっと気になる。● asus,audience,broadcom,csr,elan,google,i

mgtec,invensense,nvidia,nxp,samsung,samsung_arm,ti,trusted_logic,widevine

● 地味に mk ファイルも増えている。

– llvm とか pdk とか。

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

cts● build,hostsidetest,suite 追加● CTS 関連は誰か調べてくれると嬉しいなあ

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

dalvik● リンク先が platform/dalvik2 かと思ったら

dalvik のままだった。 (master ブランチはdalvik2)

● libnativehelper が上位に行った以外の構成変更は無し。

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

development● pdk が上位に移動。 ( で、内容が薄くなって

いる )● samples から NFCDemo が無くなっている

のが気になる。

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

device● asus(Nexus 7[Grouper]) 追加● generic に armv7-a,armv7a-neon 追加● Ti/panda の下も地味にサポートが増えてい

る。

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

docs● source.android.com の変更に伴う修正くら

い ?

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

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.)

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

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

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

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)

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

frameworks● av,mff,ml,native,rs,testing,wilhelm 追加、 media 削除

– av - base/media や media をまとめている。カメラやStagefright 、 DRM 、 MediaService 、 AudioFlinger 等

– mff – ( 空 )

– native – base/build や一部cmds 、 OpenGL 、 SurfaceFlinger 、 libbinder等移動。

– rs - RenderScript 関連

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

frameworks– testing – UIAutomator 追加

– wilhelm – OpenSL/ES,OpenMAX AL /system/media から移動

● base/cmds

– content (ContentProvider の操作 )

– requestsync ( アカウント同期処理 )● base/libs

– androidfw (Asset,Backup,Input,Keymap,Obbfile,VelocityTracker 等 )

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

frameworks● base/packages

– FakeOemFeatures (OEM システムアプリ追加用サンプル )

– InputDevices (QUERY_KEYBOARD_LAYOUT のBroadcastIntent 受信処理。何もしていない )

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

Hardware,libcore,ndk● libcore から junit が消えた以外の構成の変更

は無し。 (external/junit に統合 ?)

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

packages● apps

– LegacyCamera (Camera 変更、古いCamera がこれに )

● providers– GoogleContactsProvider 削除– PartnerBookmarksProvider 追加

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

prebuilt● android-sh 削除● darwin-x86_64,windows_x86_64 が

prebuilts に移動● ndk,sdk が prebuilts に移動

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

sdk● 追加

– anttargetprint

– apigenerator

– apps/SdkController

– find_java

– find_lock

– manifmerger

– monitor

– settings

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

system● security 追加

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

● system/core

– fs_mgr FilesystemManager

– libcorkscrew Ptrace,Backtrace ライブラリ

– libion ION Memory Manager ライブラリ

– libsuspend デバイスサスペンドライブラリ

– libsync ハードウェア同期処理アクセスライブラリ

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

system– nexus NetworkManager 削除

● extras– atrace /sys/kernel ベースのカーネルトレー

サ– cpustats /sys ベースの cpustats

● media– camera カメラメタデータライブラリ

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

● 中身の変更点を調査発表してくれる方がいると嬉しいです。

● 以上。