編輯:中級開發
1. 在android源碼的base中,我們可以看到每個目錄進去,都會有Java和jni兩個文件夾,後者對於初入android框架的學習十分有幫助,如果你剛開始了解NDK和JNI相關的不妨讀讀Google的代碼,這對於代碼風格和質量的提高都很有幫助。
2. 對於NDK和JNI來說,編譯我們需要一個好的環境,這裡還是推薦基於Unix架構的Linux或Mac OS編譯,Android123推薦放棄Windows下的Cygwin和MingWin可以節省不少的時間,對於編譯來說先掌握mk文件的結構比較重要,這裡可以直接查看base目錄中每個jni子目錄的android.mk文件即可,在Linux下mk文件這種腳本方式對於過去一些Visual Studio用慣的可能感覺有些原始。
3. 當然學習Android Framework可以幫助改進系統,定制自己的固件,部分核心的庫是獨立的external包,比如說 SQLite、Webkit、zlib、libpng這些android使用第三方開源的庫都是在platform/external/xxx.git中。xxx代表最終的庫名。
4. 對於部分的核心庫,上次我們在Android框架層學習指導一文中由於篇幅並沒有提到,其實在base目錄下面的native中可以看到很多系統結構的定義和實現。Android開發網推薦深入掌握android這個namespace中的所有結構,這樣的基礎是十分必要的。
5. 最後我們附上Base目錄的結構圖,希望對大家有用:
├─api
├─build
├─cmds
│ ├─am
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─commands
│ │ └─am
│ ├─app_process
│ ├─backup
│ ├─bmgr
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─commands
│ │ └─bmgr
│ ├─bootanimation
│ ├─bugreport
│ ├─dumpstate
│ ├─dumpsys
│ ├─ime
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─commands
│ │ └─ime
│ ├─input
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─commands
│ │ └─input
│ ├─installd
│ ├─keystore
│ ├─pm
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─commands
│ │ └─pm
│ ├─rawbu
│ ├─runtime
│ ├─screencap
│ ├─service
│ ├─servicemanager
│ ├─stagefright
│ ├─surfaceflinger
│ ├─svc
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─commands
│ │ └─svc
│ └─system_server
│ └─library
├─core
│ ├─config
│ │ ├─debug
│ │ │ └─android
│ │ │ └─util
│ │ ├─ndebug
│ │ │ └─android
│ │ │ └─util
│ │ └─sdk
│ │ └─android
│ │ └─util
│ ├─Java
│ │ ├─android
│ │ │ ├─Accessibilityservice
│ │ │ ├─accounts
│ │ │ ├─annotation
│ │ │ ├─app
│ │ │ │ ├─admin
│ │ │ │ └─backup
│ │ │ ├─appwidget
│ │ │ ├─bluetooth
│ │ │ ├─content
│ │ │ │ ├─pm
│ │ │ │ └─res
│ │ │ ├─database
│ │ │ │ └─sqlite
│ │ │ ├─ddm
│ │ │ ├─debug
│ │ │ ├─emoji
│ │ │ ├─gesture
│ │ │ ├─hardware
│ │ │ ├─inputmethodservice
│ │ │ ├─net
│ │ │ │ └─http
│ │ │ ├─nfc
│ │ │ │ └─tech
│ │ │ ├─os
│ │ │ │ └─storage
│ │ │ ├─pim
│ │ │ │ └─vcard
│ │ │ │ └─exception
│ │ │ ├─preference
│ │ │ ├─provider
│ │ │ ├─security
│ │ │ ├─server
│ │ │ │ └─search
│ │ │ ├─service
│ │ │ │ ├─urlrenderer
│ │ │ │ └─wallpaper
│ │ │ ├─speech
│ │ │ │ ├─srec
│ │ │ │ └─tts
│ │ │ ├─test
│ │ │ │ └─suitebuilder
│ │ │ │ └─annotation
│ │ │ ├─text
│ │ │ │ ├─format
│ │ │ │ ├─method
│ │ │ │ ├─style
│ │ │ │ └─util
│ │ │ ├─util
│ │ │ ├─vIEw
│ │ │ │ ├─Accessibility
│ │ │ │ ├─animation
│ │ │ │ └─inputmethod
│ │ │ ├─webkit
│ │ │ └─widget
│ │ └─com
│ │ ├─android
│ │ │ ├─internal
│ │ │ │ ├─app
│ │ │ │ ├─appwidget
│ │ │ │ ├─backup
│ │ │ │ ├─content
│ │ │ │ ├─database
│ │ │ │ ├─http
│ │ │ │ │ └─multipart
│ │ │ │ ├─logging
│ │ │ │ ├─net
│ │ │ │ ├─nfc
│ │ │ │ ├─os
│ │ │ │ │ └─storage
│ │ │ │ ├─policy
│ │ │ │ ├─preference
│ │ │ │ ├─service
│ │ │ │ │ └─wallpaper
│ │ │ │ ├─statusbar
│ │ │ │ ├─util
│ │ │ │ ├─vIEw
│ │ │ │ │ └─menu
│ │ │ │ └─widget
│ │ │ └─server
│ │ └─google
│ │ └─android
│ │ ├─collect
│ │ ├─mms
│ │ │ ├─pdu
│ │ │ └─util
│ │ └─util
│ ├─jni
│ │ └─android
│ │ ├─graphics
│ │ └─opengl
│ ├─res
│ │ ├─assets
│ │ │ ├─images
│ │ │ ├─sounds
│ │ │ └─webkit
│ │ └─res
│ │ ├─anim
│ │ ├─color
│ │ ├─drawable
│ │ ├─drawable-en-hdpi
│ │ ├─drawable-en-ldpi
│ │ ├─drawable-en-mdpi
│ │ ├─drawable-hdpi
│ │ ├─drawable-land-hdpi
│ │ ├─drawable-land-ldpi
│ │ ├─drawable-land-mdpi
│ │ ├─drawable-ldpi
│ │ ├─drawable-mdpi
│ │ ├─drawable-nodpi
│ │ ├─layout
│ │ ├─layout-land
│ │ ├─layout-port
│ │ ├─raw
│ │ ├─raw-ar
│ │ ├─raw-cs
│ │ ├─raw-da
│ │ ├─raw-de
│ │ ├─raw-en-rGB
│ │ ├─raw-es
│ │ ├─raw-fi
│ │ ├─raw-fr
│ │ ├─raw-hu
│ │ ├─raw-it
│ │ ├─raw-iw
│ │ ├─raw-ja
│ │ ├─raw-ko
│ │ ├─raw-nl
│ │ ├─raw-pl
│ │ ├─raw-pt-rBR
│ │ ├─raw-ru
│ │ ├─raw-th
│ │ ├─raw-tr
│ │ ├─raw-zh-rCN
│ │ ├─raw-zh-rTW
│ │ ├─values
│ │ ├─values-ar
│ │ ├─values-ar-rEG
│ │ ├─values-ar-rIL
│ │ ├─values-bg
│ │ ├─values-bg-rBG
│ │ ├─values-ca
│ │ ├─values-ca-rES
│ │ ├─values-cs
│ │ ├─values-cs-rCZ
│ │ ├─values-da
│ │ ├─values-da-rDK
│ │ ├─values-de
│ │ ├─values-de-rAT
│ │ ├─values-de-rCH
│ │ ├─values-de-rDE
│ │ ├─values-de-rLI
│ │ ├─values-el
│ │ ├─values-el-rGR
│ │ ├─values-en-rAU
│ │ ├─values-en-rCA
│ │ ├─values-en-rGB
│ │ ├─values-en-rIE
│ │ ├─values-en-rIN
│ │ ├─values-en-rNZ
│ │ ├─values-en-rSG
│ │ ├─values-en-rUS
│ │ ├─values-en-rZA
│ │ ├─values-es
│ │ ├─values-es-rES
│ │ ├─values-es-rUS
│ │ ├─values-fa
│ │ ├─values-fi
│ │ ├─values-fi-rFI
│ │ ├─values-fr
│ │ ├─values-fr-rBE
│ │ ├─values-fr-rCA
│ │ ├─values-fr-rCH
│ │ ├─values-fr-rFR
│ │ ├─values-he-rIL
│ │ ├─values-hi-rIN
│ │ ├─values-hr
│ │ ├─values-hr-rHR
│ │ ├─values-hu
│ │ ├─values-hu-rHU
│ │ ├─values-id-rID
│ │ ├─values-in
│ │ ├─values-in-rID
│ │ ├─values-it
│ │ ├─values-it-rCH
│ │ ├─values-it-rIT
│ │ ├─values-iw
│ │ ├─values-iw-rIL
│ │ ├─values-ja
│ │ ├─values-ja-rJP
│ │ ├─values-ko
│ │ ├─values-ko-rKR
│ │ ├─values-land
│ │ ├─values-lt
│ │ ├─values-lt-rLT
│ │ ├─values-lv
│ │ ├─values-lv-rLV
│ │ ├─values-mcc204
│ │ ├─values-mcc204-cs
│ │ ├─values-mcc204-da
│ │ ├─values-mcc204-de
│ │ ├─values-mcc204-el
│ │ ├─values-mcc204-es
│ │ ├─values-mcc204-es-rUS
│ │ ├─values-mcc204-fr
│ │ ├─values-mcc204-it
│ │ ├─values-mcc204-ja
│ │ ├─values-mcc204-ko
│ │ ├─values-mcc204-nl
│ │ ├─values-mcc204-pl
│ │ ├─values-mcc204-pt
│ │ ├─values-mcc204-pt-rPT
│ │ ├─values-mcc204-ru
│ │ ├─values-mcc204-sv
│ │ ├─values-mcc204-tr
│ │ ├─values-mcc204-zh-rCN
│ │ ├─values-mcc204-zh-rTW
│ │ ├─values-mcc219
│ │ ├─values-mcc220
│ │ ├─values-mcc230
│ │ ├─values-mcc230-cs
│ │ ├─values-mcc230-da
│ │ ├─values-mcc230-de
│ │ ├─values-mcc230-el
│ │ ├─values-mcc230-es
│ │ ├─values-mcc230-es-rUS
│ │ ├─values-mcc230-fr
│ │ ├─values-mcc230-it
│ │ ├─values-mcc230-ja
│ │ ├─values-mcc230-ko
│ │ ├─values-mcc230-nl
│ │ ├─values-mcc230-pl
│ │ ├─values-mcc230-pt
│ │ ├─values-mcc230-pt-rPT
│ │ ├─values-mcc230-ru
│ │ ├─values-mcc230-sv
│ │ ├─values-mcc230-tr
│ │ ├─values-mcc230-zh-rCN
│ │ ├─values-mcc230-zh-rTW
│ │ ├─values-mcc232
│ │ ├─values-mcc232-cs
│ │ ├─values-mcc232-da
│ │ ├─values-mcc232-de
│ │ ├─values-mcc232-el
│ │ ├─values-mcc232-es
│ │ ├─values-mcc232-es-rUS
│ │ ├─values-mcc232-fr
│ │ ├─values-mcc232-it
│ │ ├─values-mcc232-ja
│ │ ├─values-mcc232-ko
│ │ ├─values-mcc232-nl
│ │ ├─values-mcc232-pl
│ │ ├─values-mcc232-pt
│ │ ├─values-mcc232-pt-rPT
│ │ ├─values-mcc232-ru
│ │ ├─values-mcc232-sv
│ │ ├─values-mcc232-tr
│ │ ├─values-mcc232-zh-rCN
│ │ ├─values-mcc232-zh-rTW
│ │ ├─values-mcc234
│ │ ├─values-mcc234-cs
│ │ ├─values-mcc234-da
│ │ ├─values-mcc234-de
│ │ ├─values-mcc234-el
│ │ ├─values-mcc234-es
│ │ ├─values-mcc234-es-rUS
│ │ ├─values-mcc234-fr
│ │ ├─values-mcc234-it
│ │ ├─values-mcc234-ja
│ │ ├─values-mcc234-ko
│ │ ├─values-mcc234-nl
│ │ ├─values-mcc234-pl
│ │ ├─values-mcc234-pt
│ │ ├─values-mcc234-pt-rPT
│ │ ├─values-mcc234-ru
│ │ ├─values-mcc234-sv
│ │ ├─values-mcc234-tr
│ │ ├─values-mcc234-zh-rCN
│ │ ├─values-mcc234-zh-rTW
│ │ ├─values-mcc260
│ │ ├─values-mcc260-cs
│ │ ├─values-mcc260-da
│ │ ├─values-mcc260-de
│ │ ├─values-mcc260-el
│ │ ├─values-mcc260-es
│ │ ├─values-mcc260-es-rUS
│ │ ├─values-mcc260-fr
│ │ ├─values-mcc260-it
│ │ ├─values-mcc260-ja
│ │ ├─values-mcc260-ko
│ │ ├─values-mcc260-nl
│ │ ├─values-mcc260-pl
│ │ ├─values-mcc260-pt
│ │ ├─values-mcc260-pt-rPT
│ │ ├─values-mcc260-ru
│ │ ├─values-mcc260-sv
│ │ ├─values-mcc260-tr
│ │ ├─values-mcc260-zh-rCN
│ │ ├─values-mcc260-zh-rTW
│ │ ├─values-mcc262
│ │ ├─values-mcc262-cs
│ │ ├─values-mcc262-da
│ │ ├─values-mcc262-de
│ │ ├─values-mcc262-el
│ │ ├─values-mcc262-es
│ │ ├─values-mcc262-es-rUS
│ │ ├─values-mcc262-fr
│ │ ├─values-mcc262-it
│ │ ├─values-mcc262-ja
│ │ ├─values-mcc262-ko
│ │ ├─values-mcc262-nl
│ │ ├─values-mcc262-pl
│ │ ├─values-mcc262-pt
│ │ ├─values-mcc262-pt-rPT
│ │ ├─values-mcc262-ru
│ │ ├─values-mcc262-sv
│ │ ├─values-mcc262-tr
│ │ ├─values-mcc262-zh-rCN
│ │ ├─values-mcc262-zh-rTW
│ │ ├─values-nb
│ │ ├─values-nb-rNO
│ │ ├─values-nl
│ │ ├─values-nl-rBE
│ │ ├─values-nl-rNL
│ │ ├─values-pl
│ │ ├─values-pl-rPL
│ │ ├─values-port-mdpi
│ │ ├─values-pt
│ │ ├─values-pt-rBR
│ │ ├─values-pt-rPT
│ │ ├─values-rm
│ │ ├─values-rm-rCH
│ │ ├─values-ro
│ │ ├─values-ro-rRO
│ │ ├─values-ru
│ │ ├─values-ru-rRU
│ │ ├─values-sk
│ │ ├─values-sk-rSK
│ │ ├─values-sl
│ │ ├─values-sl-rSI
│ │ ├─values-sr
│ │ ├─values-sr-rRS
│ │ ├─values-sv
│ │ ├─values-sv-rSE
│ │ ├─values-th
│ │ ├─values-th-rTH
│ │ ├─values-tl
│ │ ├─values-tl-rPH
│ │ ├─values-tr
│ │ ├─values-tr-rTR
│ │ ├─values-uk
│ │ ├─values-uk-rUA
│ │ ├─values-vi
│ │ ├─values-vi-rVN
│ │ ├─values-zh-rCN
│ │ ├─values-zh-rTW
│ │ ├─XML
│ │ ├─XML-en
│ │ ├─XML-land
│ │ └─XML-mdpi
│ └─tests
│ ├─ConnectivityManagerTest
│ │ ├─assets
│ │ ├─res
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─connectivitymanagertest
│ │ ├─functional
│ │ ├─stress
│ │ └─unit
│ ├─coretests
│ │ ├─apks
│ │ │ ├─install_decl_perm
│ │ │ │ └─res
│ │ │ │ └─values
│ │ │ ├─install_loc_auto
│ │ │ │ └─res
│ │ │ │ └─values
│ │ │ ├─install_loc_internal
│ │ │ │ └─res
│ │ │ │ └─values
│ │ │ ├─install_loc_sdcard
│ │ │ │ └─res
│ │ │ │ └─values
│ │ │ ├─install_loc_unspecifIEd
│ │ │ │ └─res
│ │ │ │ └─values
│ │ │ ├─install_uses_feature
│ │ │ │ └─res
│ │ │ │ └─values
│ │ │ └─install_use_perm_good
│ │ │ └─res
│ │ │ └─values
│ │ ├─assets
│ │ ├─DisabledTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─frameworks
│ │ │ └─coretests
│ │ │ └─disabled_app
│ │ ├─EnabledTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─frameworks
│ │ │ └─coretests
│ │ │ └─enabled_app
│ │ ├─res
│ │ │ ├─drawable
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-mdpi
│ │ │ ├─layout
│ │ │ ├─raw
│ │ │ ├─values
│ │ │ └─XML
│ │ └─src
│ │ ├─android
│ │ │ ├─Accessibilityservice
│ │ │ ├─accounts
│ │ │ ├─app
│ │ │ │ └─activity
│ │ │ ├─bluetooth
│ │ │ ├─content
│ │ │ │ └─pm
│ │ │ ├─database
│ │ │ │ └─sqlite
│ │ │ ├─net
│ │ │ │ └─http
│ │ │ ├─os
│ │ │ │ └─storage
│ │ │ ├─pim
│ │ │ │ └─vcard
│ │ │ │ └─test_utils
│ │ │ ├─preference
│ │ │ ├─provider
│ │ │ ├─text
│ │ │ │ ├─format
│ │ │ │ └─util
│ │ │ ├─util
│ │ │ ├─vIEw
│ │ │ │ ├─Accessibility
│ │ │ │ └─menu
│ │ │ ├─webkit
│ │ │ └─widget
│ │ │ ├─expandablelistvIEw
│ │ │ ├─focus
│ │ │ ├─gridvIEw
│ │ │ │ └─touch
│ │ │ ├─layout
│ │ │ │ ├─frame
│ │ │ │ ├─linear
│ │ │ │ └─table
│ │ │ ├─listvIEw
│ │ │ │ ├─arrowscroll
│ │ │ │ ├─focus
│ │ │ │ └─touch
│ │ │ ├─scroll
│ │ │ │ └─arrowscroll
│ │ │ └─touchmode
│ │ └─com
│ │ └─android
│ │ ├─internal
│ │ │ ├─http
│ │ │ │ └─multipart
│ │ │ ├─net
│ │ │ ├─os
│ │ │ └─util
│ │ └─server
│ ├─hosttests
│ │ ├─src
│ │ │ └─android
│ │ │ ├─content
│ │ │ │ └─pm
│ │ │ └─net
│ │ └─test-aPPS
│ │ ├─AutoLocTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─autoloctestapp
│ │ ├─AutoLocVersionedTestApp_v1
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─autolocversionedtestapp
│ │ ├─AutoLocVersionedTestApp_v2
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─autolocversionedtestapp
│ │ ├─DownloadManagerTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─frameworks
│ │ ├─ExternalLocAllPermsTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externallocallpermstestapp
│ │ ├─ExternalLocPermsFLTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externallocpermsfltestapp
│ │ ├─ExternalLocTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externalloctestapp
│ │ ├─ExternalLocVersionedTestApp_v1
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externallocversionedtestapp
│ │ ├─ExternalLocVersionedTestApp_v2
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externallocversionedtestapp
│ │ ├─ExternalSharedPerms
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externalsharedpermstestapp
│ │ ├─ExternalSharedPermsBT
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externalsharedpermsbttestapp
│ │ ├─ExternalSharedPermsDiffKey
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externalsharedpermsdiffkeytestapp
│ │ ├─ExternalSharedPermsFL
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─externalsharedpermsfltestapp
│ │ ├─InternalLocTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─internalloctestapp
│ │ ├─NoLocTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─noloctestapp
│ │ ├─NoLocVersionedTestApp_v1
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─nolocversionedtestapp
│ │ ├─NoLocVersionedTestApp_v2
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─nolocversionedtestapp
│ │ ├─SimpleTestApp
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─simpletestapp
│ │ ├─UpdateExternalLocTestApp_v1_ext
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─updateexternalloctestapp
│ │ ├─UpdateExternalLocTestApp_v2_none
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─updateexternalloctestapp
│ │ ├─UpdateExtToIntLocTestApp_v1_ext
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─updateexttointloctestapp
│ │ ├─UpdateExtToIntLocTestApp_v2_int
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─updateexttointloctestapp
│ │ ├─VersatileTestApp_Auto
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─versatiletestapp
│ │ ├─VersatileTestApp_External
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─versatiletestapp
│ │ ├─VersatileTestApp_Internal
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─framework
│ │ │ └─versatiletestapp
│ │ └─VersatileTestApp_None
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─framework
│ │ └─versatiletestapp
│ └─utillib
│ └─src
│ └─coretestutils
│ └─http
├─data
│ ├─etc
│ ├─fonts
│ ├─keyboards
│ └─sounds
│ ├─effects
│ ├─newwavelabs
│ ├─notifications
│ ├─ringtones
│ └─testfiles
├─drm
│ ├─common
│ ├─drmiOServer
│ ├─drmserver
│ ├─Java
│ │ └─android
│ │ └─drm
│ ├─jni
│ └─libdrmframework
│ ├─include
│ └─plugins
│ ├─common
│ │ ├─include
│ │ └─util
│ │ ├─include
│ │ └─src
│ ├─forward-lock
│ │ ├─FwdLockEngine
│ │ │ ├─include
│ │ │ └─src
│ │ └─internal-format
│ │ ├─common
│ │ ├─converter
│ │ ├─decoder
│ │ └─doc
│ │ └─images
│ └─passthru
│ ├─include
│ └─src
├─graphics
│ ├─Java
│ │ ├─android
│ │ │ ├─graphics
│ │ │ │ ├─drawable
│ │ │ │ │ └─shapes
│ │ │ │ └─utils
│ │ │ └─renderscript
│ │ └─com
│ │ └─android
│ │ └─internal
│ │ └─graphics
│ ├─jni
│ └─tests
│ └─graphicstests
│ ├─res
│ │ ├─color
│ │ ├─drawable
│ │ └─values
│ └─src
│ └─android
│ ├─graphics
│ │ └─drawable
│ └─vIEw
├─include
│ ├─android_runtime
│ ├─binder
│ ├─camera
│ ├─drm
│ ├─gui
│ ├─media
│ │ └─stagefright
│ │ ├─foundation
│ │ └─openmax
│ ├─pim
│ ├─private
│ │ ├─binder
│ │ ├─media
│ │ ├─opengles
│ │ ├─surfaceflinger
│ │ ├─ui
│ │ └─utils
│ ├─storage
│ ├─surfaceflinger
│ ├─tts
│ ├─ui
│ │ └─egl
│ └─utils
├─keystore
│ ├─Java
│ │ └─android
│ │ └─security
│ └─tests
│ └─src
│ └─android
│ └─security
├─libs
│ ├─binder
│ ├─camera
│ ├─gui
│ ├─rs
│ │ ├─Java
│ │ │ ├─Film
│ │ │ │ ├─res
│ │ │ │ │ ├─drawable
│ │ │ │ │ └─raw
│ │ │ │ └─src
│ │ │ │ └─com
│ │ │ │ └─android
│ │ │ │ └─film
│ │ │ ├─Fountain
│ │ │ │ ├─res
│ │ │ │ │ ├─drawable
│ │ │ │ │ └─raw
│ │ │ │ └─src
│ │ │ │ └─com
│ │ │ │ └─android
│ │ │ │ └─fountain
│ │ │ └─ImageProcessing
│ │ │ ├─res
│ │ │ │ ├─drawable-hdpi
│ │ │ │ ├─layout
│ │ │ │ └─raw
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─rs
│ │ │ └─image
│ │ └─scriptc
│ ├─storage
│ ├─surfaceflinger_clIEnt
│ │ └─tests
│ │ └─SharedBufferStack
│ ├─ui
│ │ └─tests
│ │ └─region
│ └─utils
│ └─tests
├─location
│ ├─Java
│ │ ├─android
│ │ │ └─location
│ │ └─com
│ │ └─android
│ │ └─internal
│ │ └─location
│ ├─lib
│ │ └─Java
│ │ └─com
│ │ └─android
│ │ └─location
│ │ └─provider
│ └─tests
│ └─locationtests
│ └─src
│ └─android
│ └─location
├─media
│ ├─Java
│ │ └─android
│ │ ├─drm
│ │ │ └─mobile1
│ │ └─media
│ │ └─audiofx
│ ├─jni
│ │ ├─audioeffect
│ │ └─soundpool
│ ├─libdrm
│ │ └─mobile1
│ │ ├─include
│ │ │ ├─jni
│ │ │ ├─objmng
│ │ │ ├─parser
│ │ │ └─XML
│ │ └─src
│ │ ├─jni
│ │ ├─objmng
│ │ ├─parser
│ │ └─XML
│ ├─libeffects
│ │ ├─factory
│ │ ├─lvm
│ │ │ ├─lib
│ │ │ │ ├─Bass
│ │ │ │ │ ├─lib
│ │ │ │ │ └─src
│ │ │ │ ├─Bundle
│ │ │ │ │ ├─lib
│ │ │ │ │ └─src
│ │ │ │ ├─Common
│ │ │ │ │ ├─lib
│ │ │ │ │ └─src
│ │ │ │ ├─Eq
│ │ │ │ │ ├─lib
│ │ │ │ │ └─src
│ │ │ │ ├─Reverb
│ │ │ │ │ ├─lib
│ │ │ │ │ └─src
│ │ │ │ ├─SpectrumAnalyzer
│ │ │ │ │ ├─lib
│ │ │ │ │ └─src
│ │ │ │ └─StereoWidening
│ │ │ │ ├─lib
│ │ │ │ └─src
│ │ │ └─wrapper
│ │ │ ├─Bundle
│ │ │ └─Reverb
│ │ ├─testlibs
│ │ └─visualizer
│ ├─libmedia
│ ├─libmediaplayerservice
│ ├─libstagefright
│ │ ├─codecs
│ │ │ ├─aacdec
│ │ │ ├─aacenc
│ │ │ │ ├─basic_op
│ │ │ │ ├─build
│ │ │ │ │ └─eclair
│ │ │ │ │ ├─ARMV5E
│ │ │ │ │ └─ARMV7
│ │ │ │ ├─doc
│ │ │ │ ├─inc
│ │ │ │ ├─SampleCode
│ │ │ │ │ └─eclair
│ │ │ │ ├─src
│ │ │ │ │ └─asm
│ │ │ │ │ ├─ARMV5E
│ │ │ │ │ └─ARMV7
│ │ │ │ └─Tools
│ │ │ ├─amrnb
│ │ │ │ ├─common
│ │ │ │ │ ├─include
│ │ │ │ │ └─src
│ │ │ │ ├─dec
│ │ │ │ │ ├─include
│ │ │ │ │ └─src
│ │ │ │ └─enc
│ │ │ │ └─src
│ │ │ ├─amrwb
│ │ │ │ ├─include
│ │ │ │ └─src
│ │ │ ├─amrwbenc
│ │ │ │ ├─build
│ │ │ │ │ └─eclair
│ │ │ │ │ ├─ARMV5E
│ │ │ │ │ └─ARMV7
│ │ │ │ ├─doc
│ │ │ │ ├─inc
│ │ │ │ ├─SampleCode
│ │ │ │ │ └─eclair
│ │ │ │ └─src
│ │ │ │ └─asm
│ │ │ │ ├─ARMV5E
│ │ │ │ └─ARMV7
│ │ │ ├─avc
│ │ │ │ ├─common
│ │ │ │ │ ├─include
│ │ │ │ │ └─src
│ │ │ │ ├─dec
│ │ │ │ │ ├─include
│ │ │ │ │ └─src
│ │ │ │ └─enc
│ │ │ │ └─src
│ │ │ ├─common
│ │ │ │ └─include
│ │ │ ├─g711
│ │ │ │ └─dec
│ │ │ ├─m4v_h263
│ │ │ │ ├─dec
│ │ │ │ │ ├─include
│ │ │ │ │ └─src
│ │ │ │ └─enc
│ │ │ │ ├─include
│ │ │ │ └─src
│ │ │ ├─mp3dec
│ │ │ │ ├─include
│ │ │ │ └─src
│ │ │ │ └─asm
│ │ │ ├─on2
│ │ │ │ └─dec
│ │ │ └─vorbis
│ │ │ └─dec
│ │ ├─colorconversion
│ │ ├─foundation
│ │ ├─httplive
│ │ ├─id3
│ │ ├─include
│ │ ├─matroska
│ │ ├─mpeg2ts
│ │ ├─omx
│ │ │ └─tests
│ │ └─rtsp
│ ├─mediaserver
│ └─tests
│ ├─MediaFrameworkTest
│ │ ├─res
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-mdpi
│ │ │ ├─layout
│ │ │ ├─raw
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─mediaframeworktest
│ │ ├─functional
│ │ ├─performance
│ │ ├─power
│ │ ├─stress
│ │ └─unit
│ ├─omxjpegdecoder
│ ├─players
│ └─SoundPoolTest
│ ├─res
│ │ └─raw
│ └─src
│ └─com
│ └─android
├─native
│ ├─android
│ ├─graphics
│ │ └─jni
│ └─include
│ └─android
├─obex
│ └─Javax
│ └─obex
├─opengl
│ ├─include
│ │ ├─EGL
│ │ ├─ETC1
│ │ ├─GLES
│ │ ├─GLES2
│ │ └─KHR
│ ├─Java
│ │ ├─android
│ │ │ └─opengl
│ │ ├─com
│ │ │ └─google
│ │ │ └─android
│ │ │ └─gles_jni
│ │ └─Javax
│ │ └─microedition
│ │ └─khronos
│ │ ├─egl
│ │ └─opengles
│ ├─libagl
│ ├─libs
│ │ ├─EGL
│ │ ├─ETC1
│ │ ├─GLES2
│ │ ├─GLES_CM
│ │ └─tools
│ ├─tests
│ │ ├─angeles
│ │ │ └─include
│ │ │ └─GLES
│ │ ├─configdump
│ │ ├─fillrate
│ │ ├─filter
│ │ ├─finish
│ │ ├─gl2_basic
│ │ ├─gl2_Java
│ │ │ ├─res
│ │ │ │ └─values
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─gl2Java
│ │ ├─gl2_jni
│ │ │ ├─jni
│ │ │ ├─res
│ │ │ │ └─values
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─gl2jni
│ │ ├─gldual
│ │ │ ├─jni
│ │ │ ├─res
│ │ │ │ ├─layout
│ │ │ │ └─values
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─gldual
│ │ ├─gl_basic
│ │ ├─gl_jni
│ │ │ ├─jni
│ │ │ ├─res
│ │ │ │ └─values
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─gljni
│ │ ├─gralloc
│ │ ├─lighting1709
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─lightingtest
│ │ ├─linetex
│ │ ├─swapinterval
│ │ ├─testPauseResume
│ │ │ ├─res
│ │ │ │ └─values
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─test
│ │ ├─textures
│ │ └─tritex
│ └─tools
│ └─glgen
│ ├─specs
│ │ ├─gles11
│ │ └─JSr239
│ ├─src
│ └─stubs
│ ├─gles11
│ └─JSr239
├─packages
│ ├─DefaultContainerService
│ │ ├─res
│ │ │ ├─values
│ │ │ ├─values-ar
│ │ │ ├─values-bg
│ │ │ ├─values-ca
│ │ │ ├─values-cs
│ │ │ ├─values-da
│ │ │ ├─values-de
│ │ │ ├─values-el
│ │ │ ├─values-en-rGB
│ │ │ ├─values-es
│ │ │ ├─values-es-rUS
│ │ │ ├─values-fa
│ │ │ ├─values-fi
│ │ │ ├─values-fr
│ │ │ ├─values-hr
│ │ │ ├─values-hu
│ │ │ ├─values-in
│ │ │ ├─values-it
│ │ │ ├─values-iw
│ │ │ ├─values-ja
│ │ │ ├─values-ko
│ │ │ ├─values-lt
│ │ │ ├─values-lv
│ │ │ ├─values-nb
│ │ │ ├─values-nl
│ │ │ ├─values-pl
│ │ │ ├─values-pt
│ │ │ ├─values-pt-rPT
│ │ │ ├─values-rm
│ │ │ ├─values-ro
│ │ │ ├─values-ru
│ │ │ ├─values-sk
│ │ │ ├─values-sl
│ │ │ ├─values-sr
│ │ │ ├─values-sv
│ │ │ ├─values-th
│ │ │ ├─values-tl
│ │ │ ├─values-tr
│ │ │ ├─values-uk
│ │ │ ├─values-vi
│ │ │ ├─values-zh-rCN
│ │ │ └─values-zh-rTW
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─defcontainer
│ ├─SettingsProvider
│ │ ├─res
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-mdpi
│ │ │ ├─values
│ │ │ ├─values-ar
│ │ │ ├─values-bg
│ │ │ ├─values-ca
│ │ │ ├─values-cs
│ │ │ ├─values-da
│ │ │ ├─values-de
│ │ │ ├─values-el
│ │ │ ├─values-en-rGB
│ │ │ ├─values-es
│ │ │ ├─values-es-rUS
│ │ │ ├─values-fa
│ │ │ ├─values-fi
│ │ │ ├─values-fr
│ │ │ ├─values-hr
│ │ │ ├─values-hu
│ │ │ ├─values-in
│ │ │ ├─values-it
│ │ │ ├─values-iw
│ │ │ ├─values-ja
│ │ │ ├─values-ko
│ │ │ ├─values-lt
│ │ │ ├─values-lv
│ │ │ ├─values-nb
│ │ │ ├─values-nl
│ │ │ ├─values-pl
│ │ │ ├─values-pt
│ │ │ ├─values-pt-rPT
│ │ │ ├─values-rm
│ │ │ ├─values-ro
│ │ │ ├─values-ru
│ │ │ ├─values-sk
│ │ │ ├─values-sl
│ │ │ ├─values-sr
│ │ │ ├─values-sv
│ │ │ ├─values-th
│ │ │ ├─values-tl
│ │ │ ├─values-tr
│ │ │ ├─values-uk
│ │ │ ├─values-vi
│ │ │ ├─values-zh-rCN
│ │ │ ├─values-zh-rTW
│ │ │ └─XML
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─providers
│ │ └─settings
│ ├─SystemUI
│ │ ├─res
│ │ │ ├─drawable
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-mdpi
│ │ │ ├─layout
│ │ │ ├─values
│ │ │ ├─values-ar
│ │ │ ├─values-bg
│ │ │ ├─values-ca
│ │ │ ├─values-cs
│ │ │ ├─values-da
│ │ │ ├─values-de
│ │ │ ├─values-el
│ │ │ ├─values-en-rGB
│ │ │ ├─values-es
│ │ │ ├─values-es-rUS
│ │ │ ├─values-fa
│ │ │ ├─values-fi
│ │ │ ├─values-fr
│ │ │ ├─values-hr
│ │ │ ├─values-hu
│ │ │ ├─values-in
│ │ │ ├─values-it
│ │ │ ├─values-iw
│ │ │ ├─values-ja
│ │ │ ├─values-ko
│ │ │ ├─values-lt
│ │ │ ├─values-lv
│ │ │ ├─values-nb
│ │ │ ├─values-nl
│ │ │ ├─values-pl
│ │ │ ├─values-pt
│ │ │ ├─values-pt-rPT
│ │ │ ├─values-rm
│ │ │ ├─values-ro
│ │ │ ├─values-ru
│ │ │ ├─values-sk
│ │ │ ├─values-sl
│ │ │ ├─values-sr
│ │ │ ├─values-sv
│ │ │ ├─values-th
│ │ │ ├─values-tl
│ │ │ ├─values-tr
│ │ │ ├─values-uk
│ │ │ ├─values-vi
│ │ │ ├─values-zh-rCN
│ │ │ ├─values-zh-rTW
│ │ │ └─XML
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─systemui
│ │ ├─statusbar
│ │ └─usb
│ ├─TtsService
│ │ ├─jni
│ │ ├─res
│ │ │ ├─drawable-hdpi
│ │ │ └─drawable-mdpi
│ │ └─src
│ │ └─android
│ │ └─tts
│ ├─VpnServices
│ │ ├─res
│ │ │ ├─drawable
│ │ │ ├─values
│ │ │ ├─values-ar
│ │ │ ├─values-bg
│ │ │ ├─values-ca
│ │ │ ├─values-cs
│ │ │ ├─values-da
│ │ │ ├─values-de
│ │ │ ├─values-el
│ │ │ ├─values-en-rGB
│ │ │ ├─values-es
│ │ │ ├─values-es-rUS
│ │ │ ├─values-fa
│ │ │ ├─values-fi
│ │ │ ├─values-fr
│ │ │ ├─values-hr
│ │ │ ├─values-hu
│ │ │ ├─values-in
│ │ │ ├─values-it
│ │ │ ├─values-iw
│ │ │ ├─values-ja
│ │ │ ├─values-ko
│ │ │ ├─values-lt
│ │ │ ├─values-lv
│ │ │ ├─values-nb
│ │ │ ├─values-nl
│ │ │ ├─values-pl
│ │ │ ├─values-pt
│ │ │ ├─values-pt-rPT
│ │ │ ├─values-rm
│ │ │ ├─values-ro
│ │ │ ├─values-ru
│ │ │ ├─values-sk
│ │ │ ├─values-sl
│ │ │ ├─values-sr
│ │ │ ├─values-sv
│ │ │ ├─values-th
│ │ │ ├─values-tl
│ │ │ ├─values-tr
│ │ │ ├─values-uk
│ │ │ ├─values-vi
│ │ │ ├─values-zh-rCN
│ │ │ └─values-zh-rTW
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─server
│ │ └─vpn
│ └─WAPPushManager
│ ├─src
│ │ └─com
│ │ └─android
│ │ └─smspush
│ └─tests
│ ├─res
│ │ ├─drawable-hdpi
│ │ ├─drawable-ldpi
│ │ ├─drawable-mdpi
│ │ └─layout
│ └─src
│ └─com
│ └─android
│ └─smspush
│ └─unitTests
├─policy
│ ├─src
│ │ └─com
│ │ └─android
│ │ └─internal
│ │ └─policy
│ │ └─impl
│ └─tests
│ └─src
│ └─com
│ └─android
│ └─internal
│ └─policy
│ └─impl
├─sax
│ ├─Java
│ │ └─android
│ │ └─sax
│ └─tests
│ └─saxtests
│ ├─res
│ │ └─raw
│ └─src
│ └─android
│ └─sax
├─services
│ ├─audioflinger
│ ├─camera
│ │ ├─libcameraservice
│ │ └─tests
│ │ └─CameraServiceTest
│ ├─Java
│ │ └─com
│ │ └─android
│ │ └─server
│ │ ├─am
│ │ ├─connectivity
│ │ └─location
│ ├─jni
│ ├─sensorservice
│ │ └─tests
│ ├─surfaceflinger
│ │ ├─DisplayHardware
│ │ └─tests
│ │ ├─overlays
│ │ ├─resize
│ │ ├─screencap
│ │ ├─surface
│ │ └─transform
│ └─tests
│ └─servicestests
│ └─src
│ └─com
│ └─android
│ └─server
├─telephony
│ ├─Java
│ │ ├─android
│ │ │ └─telephony
│ │ │ ├─cdma
│ │ │ └─gsm
│ │ └─com
│ │ └─android
│ │ └─internal
│ │ └─telephony
│ │ ├─cat
│ │ ├─cdma
│ │ │ └─sms
│ │ ├─gsm
│ │ ├─sip
│ │ └─test
│ ├─mockril
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─internal
│ │ └─telephony
│ │ └─mockril
│ └─tests
│ └─telephonytests
│ └─src
│ ├─android
│ │ └─telephony
│ └─com
│ └─android
│ ├─frameworks
│ │ └─telephonytests
│ └─internal
│ └─telephony
│ ├─cdma
│ │ └─sms
│ ├─gsm
│ └─mockril
├─test-runner
│ ├─src
│ │ ├─android
│ │ │ └─test
│ │ │ ├─mock
│ │ │ └─suitebuilder
│ │ │ └─annotation
│ │ └─junit
│ │ ├─runner
│ │ └─textui
│ └─tests
│ └─src
│ └─android
│ └─test
│ └─suitebuilder
│ ├─annotation
│ └─examples
│ ├─error
│ ├─instrumentation
│ ├─nested
│ │ └─nested
│ ├─simple
│ ├─smoke
│ ├─subclass
│ └─suppress
├─tests
│ ├─appwidgets
│ │ ├─AppWidgetHostTest
│ │ │ ├─res
│ │ │ │ ├─drawable-hdpi
│ │ │ │ ├─drawable-mdpi
│ │ │ │ ├─layout
│ │ │ │ ├─values
│ │ │ │ └─XML
│ │ │ └─src
│ │ │ └─com
│ │ │ └─android123
│ │ │ └─tests
│ │ │ └─appwidgethost
│ │ └─AppWidgetProviderTest
│ │ ├─res
│ │ │ ├─layout
│ │ │ ├─values
│ │ │ └─XML
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─tests
│ │ └─appwidgetprovider
│ ├─backup
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─backuptest
│ ├─BatteryWaster
│ │ ├─res
│ │ │ ├─layout
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─batterywaster
│ ├─BrowserPowerTest
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─browserpowertest
│ ├─CoreTests
│ │ └─android
│ │ └─core
│ ├─DpiTest
│ │ ├─res
│ │ │ ├─drawable
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-ldpi
│ │ │ ├─drawable-nodpi
│ │ │ ├─layout
│ │ │ ├─values
│ │ │ ├─values-large
│ │ │ ├─values-large-long
│ │ │ ├─values-large-notlong
│ │ │ ├─values-long
│ │ │ ├─values-normal
│ │ │ ├─values-normal-long
│ │ │ ├─values-normal-notlong
│ │ │ ├─values-notlong
│ │ │ ├─values-small
│ │ │ ├─values-small-long
│ │ │ ├─values-small-notlong
│ │ │ ├─values-xlarge
│ │ │ ├─values-xlarge-long
│ │ │ └─values-xlarge-notlong
│ │ └─src
│ │ └─com
│ │ └─google
│ │ └─android
│ │ └─test
│ │ └─dpi
│ ├─DumpRenderTree
│ │ ├─assets
│ │ │ └─results
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─dumprendertree
│ │ └─forwarder
│ ├─FixVibrateSetting
│ │ ├─res
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-mdpi
│ │ │ ├─layout
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─fixvibratesetting
│ ├─ImfTest
│ │ ├─res
│ │ │ ├─layout
│ │ │ └─values
│ │ ├─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─imftest
│ │ │ └─samples
│ │ └─tests
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─imftest
│ │ └─samples
│ ├─LargeAssetTest
│ │ ├─assets
│ │ ├─res
│ │ │ ├─layout
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─largeassettest
│ ├─LocationTracker
│ │ ├─res
│ │ │ ├─layout
│ │ │ ├─menu
│ │ │ ├─values
│ │ │ └─XML
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─locationtracker
│ │ └─data
│ ├─LotsOfAPPS
│ │ ├─res
│ │ │ └─drawable
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─lotsofaPPS
│ ├─LowStorageTest
│ │ ├─res
│ │ │ ├─layout
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─lowstoragetest
│ ├─permission
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─framework
│ │ └─permission
│ │ └─tests
│ ├─SmokeTest
│ │ ├─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─smoketest
│ │ └─tests
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─smoketest
│ ├─SslLoad
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─sslload
│ ├─StatusBar
│ │ ├─res
│ │ │ ├─drawable
│ │ │ ├─drawable-hdpi
│ │ │ ├─drawable-mdpi
│ │ │ ├─layout
│ │ │ ├─raw
│ │ │ └─values
│ │ └─src
│ │ └─com
│ │ └─android
│ │ └─statusbartest
│ └─TransformTest
│ ├─res
│ │ ├─drawable
│ │ └─values
│ └─src
│ └─com
│ └─google
│ └─android
│ └─test
│ └─transform
├─tools
│ ├─aapt
│ │ └─tests
│ │ └─plurals
│ │ └─res
│ │ └─values
│ ├─aidl
│ ├─layoutlib
│ │ ├─bridge
│ │ │ ├─src
│ │ │ │ ├─android
│ │ │ │ │ ├─graphics
│ │ │ │ │ ├─os
│ │ │ │ │ ├─util
│ │ │ │ │ ├─vIEw
│ │ │ │ │ │ └─Accessibility
│ │ │ │ │ └─webkit
│ │ │ │ └─com
│ │ │ │ ├─android
│ │ │ │ │ └─layoutlib
│ │ │ │ │ └─bridge
│ │ │ │ └─google
│ │ │ │ └─android
│ │ │ │ └─maps
│ │ │ └─tests
│ │ │ └─com
│ │ │ └─android
│ │ │ └─layoutlib
│ │ │ ├─bridge
│ │ │ └─testdata
│ │ └─create
│ │ ├─src
│ │ │ └─com
│ │ │ └─android
│ │ │ └─tools
│ │ │ └─layoutlib
│ │ │ ├─annotations
│ │ │ └─create
│ │ └─tests
│ │ ├─com
│ │ │ └─android
│ │ │ └─tools
│ │ │ └─layoutlib
│ │ │ └─create
│ │ ├─data
│ │ └─mock_android
│ │ ├─dummy
│ │ ├─vIEw
│ │ └─widget
│ ├─localize
│ │ └─testdata
│ │ ├─res
│ │ │ ├─values
│ │ │ └─values-zz-rZZ
│ │ └─values
│ ├─makekeycodes
│ ├─obbtool
│ └─preload
│ └─loadclass
├─voip
│ ├─Java
│ │ ├─android
│ │ │ └─net
│ │ │ ├─rtp
│ │ │ └─sip
│ │ └─com
│ │ └─android
│ │ └─server
│ │ └─sip
│ └─jni
│ └─rtp
├─vpn
│ ├─Java
│ │ └─android
│ │ └─net
│ │ └─vpn
│ └─tests
│ └─vpntests
│ └─src
│ └─android
│ └─net
│ └─vpn
└─wifi
└─Java
└─android
└─net
└─wifi
本文為個人總結,不代表官方觀點。 分為幾個階段: 1、整個android的多媒體框架OpenCore 2、Player和Author的詳細介紹 2、OpenCo
從Android 3.1開始將支持USB配件連接到Android設備,通過附件通訊協議,同時在Android 2.3.4中通過附加庫也可以兼容這些功能,目前可以在Nex
很多開發者不知道ListVIEw列表控件的快速滾動滑塊是如何啟用的,這裡android開發網告訴大家,輔助滾動滑塊只需要一行代碼就可以搞定,如果你使用XML布局只需要在
開發出高效穩定的Android應用我們不得不需要了解下Java虛擬機的原理和內存分配機制,android使用的是Google經過優化的Dalvik Java VM。通常