zoukankan      html  css  js  c++  java
  • 文件androidAndroid 源码文件结构

    之前一直在研究文件android之类的问题,今天正好有机会和大家共享一下.

        Android 源码根文件夹结构:

        以下内容遵守这个定名: 文件夹名称:释意

         

        bionicandroid 中所使用的是标准C库源文件,该项目将被编译成静态库文件,这些库文件仅在编译其他C程序时使用,不会被输出到最终设备中

        bootable:二次引诱程序源码,对应NAND Flash的二次引诱分区中的内容,这部份代码不会被包含在最终的system.imgboot.img 文件中

        build:编译系统中枢,该目录下的各种make脚本和shell脚本独特组成了android的编译环境

        cts:兼容测试代码,基于android系统的手机如果需要google的认证,则必须经过google的兼容性测试,兼容性测试的目标是为了保证该设备具有标准的    SDK API接口

        dalvikandroid中的java虚拟机相干的源码,虚拟机内部计划相干的文档可以参考dalvik/docs目录下的说明文档

        development:一些开发android工程所使用的相干配置或文件,如:一些.classpath文件

        device:不同设备相干的编译脚本文件,一个设备一般就是指一种型号的手机,如:     Htc magicNexus OneNexus S 等等

        externalandroid系统所依赖的一些外部库文件,如:sqliteopencore等,这些文件大部份都是c/c++代码,也有少量的java

        frameworksFramework的内核源码,重要由java文件组成

        hardwareAndroid定义的硬件抽象层(HAL       相干的文件

        libcoreDalvik虚拟机所依赖的java库,如HashMapArrayList等,这些库和Dailvik独特组成dailvikjava运行环境

        ndkNative Development Kit ,即编译NDK所需的相干文件

        packagesAndroid中的一些系统应用程序,比如ContactsPhone

        prebuilt:编译所需的程序文件,重要包含不同平台的ARM编译器

        sdk:编译SDK所需的相干文件

        systemAndroid底层的Linux所需的一些系统工具程序,这些程序重要运行于adb logcat

        tools:一些其他辅助工具,现在只有一个名称为tradefederationjava项目

        vendor:和device目录中的程序独特定义一个设备所包含的私有文件,它与device目录的区分在于,device重要定义了不同设备所需的特有文件,但倒是开源的,而vendor中包含的文件一般都是目标文件,却不是开源的。

         

        Android 源码\out目录结构:

        out\target\product\generic\下有个system目录(如果没有generic这个目录则是在项目名目录下,如mtkwtxxxxx),其包含内容简介如下:

        每日一道理
    书籍好比一架梯子,它能引领人们登上文化的殿堂;书籍如同一把钥匙,它将帮助我们开启心灵的智慧之窗;书籍犹如一条小船,它会载着我们驶向知识的海洋。

               \system\app
          
    这个里头重要寄存的是惯例下载的应用程序,可以看到都是以APK格式开头的文件,在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。
           \system\app\AlarmClock.apk 闹钟
           \system\app\Browser.apk 浏览器
           \system\app\Bugreport.apk Bug报告
           \system\app\Calculator.apk 计算器

           \system\bin
          
    这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里头重要是Linux系统自带的组件:

           \system\bin\am
           \system\bin\app_process
    系统进程
           \system\bin\dalvikvm Dalvik虚拟机宿主
           \system\bin\dbus-daemon 系统BUS总线监控
           \system\bin\debuggerd 调试器
           \system\bin\debug_tool 调试工具
           \system\bin\dexopt DEX选项
           \system\bin\dhcpcd DHCP服务器

           \system\etc
          
    从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
           \system\etc\apns-conf.xml APN接入点配置文件
           \system\etc\AudioFilter.csv 音频过滤器配置文件
           \system\etc\AudioPara4.csv
           \system\etc\bookmarks.xml
    书签数据库
           \system\etc\dbus.conf 总线监视配置文件

           \system\fonts
          
    字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的多是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到表现简体中文畸形,其中DroidSansFallback.ttf文件大小
           \system\fonts\DroidSans-Bold.ttf
           \system\fonts\DroidSans.ttf
           \system\fonts\DroidSansFallback.ttf
           \system\fonts\DroidSansMono.ttf

           \system\framework
           framework
    重要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。

           \system\framework\am.jar
           \system\framework\am.odex
           \system\framework\android.awt.jar AWT

           \system\framework\android.awt.odex

           \system\lib
           lib
    目录中寄存的重要是系统底层库,如平台运行时库。
           \system\lib\libaes.so 
           \system\lib\libagl.so
           \system\lib\libandroid_runtime.so 
    Android运行时库
           \system\lib\libandroid_servers.so 系统服务组件
           \system\lib\libaudio.so 音频处理
           \system\lib\libaudioeq.so EQ均衡器
           \system\lib\libaudioflinger.so 音频过滤器
           \system\lib\libbluetooth.so 蓝牙组件
           \system\lib\libc.so
           \system\lib\libcamera.so
    超相机组件
           \system\lib\libcameraservice.so
           \system\lib\libcorecg.so
           \system\lib\libcrypto.so
    加密组件

           \system\media
          
    铃声音乐文件夹,除了惯例的铃声外还有一些系统提示事件音
           \system\media\audio
           \system\media\audio\alarms
    闹铃音
           \system\media\audio\notifications 提示音
           \system\media\audio\ringtones 铃声
           \system\media\audio\ui 界面操纵事件音

           \system\sounds
          
    默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
           \system\sounds\test.mid
           \system\usr
          
    用户文件夹,包含共享、键盘布局、时间区域文件等。
           \system\usr\keychars
           \system\usr\keylayout
           \system\usr\share
           \system\usr\srec

         

        根文件下各子目录可参考:http://www.cnblogs.com/yyyyy5101/archive/2011/06/16/2082856.html

         

         

         

         

    文章结束给大家分享下程序员的一些笑话语录: IBM和波音777
      波音777是有史以来第一架完全在电脑虚拟现实中设计制造的飞机,所用的设备完全由IBM公司所提供。试飞前,波音公司的总裁非常热情的邀请IBM的技术主管去参加试飞,可那位主管却说道:“啊,非常荣幸,可惜那天是我妻子的生日,So..”..
      波音公司的总载一听就生气了:“胆小鬼,我还没告诉你试飞的日期呢!”

    --------------------------------- 原创文章 By
    文件和android
    ---------------------------------

  • 相关阅读:
    给自己新申请的阿里云服务器ECS免费搭建WDCP环境
    maven run 配置jre VM arguments配置 (转)
    JSON.stringify 语法实例讲解(转)
    Vue-cli proxyTable 解决开发环境的跨域问题(转)
    JS几种数组遍历方式以及性能分析对比(转 未经测试,先mark)
    调用web接口跨域问题
    Jquery获取浏览器窗口和Body长宽
    idea tab页签颜色不明显,自定义颜色解决。
    疯狂Java学习笔记(009)
    疯狂Java学习笔记(001)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3108970.html
Copyright © 2011-2022 走看看