Android系统源码学习——源码目录结构介绍

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Android 4.0源码目录结构:
本文介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置。
Android源码体积非常庞大,由Dalvik虚拟机、Linux内核、编译系统、框架代码、Android定制C库、测试套件、系统应用程序等部分组成,在编译Android源码之前,必须要先掌握Android源码的组成。
在Android源码中,按照不同功能代码被放在不同的目录下:

abi目录:应用二进制接口,不同的操作系统,应用二进制接口不同,因此linux上的二进制可执行文件在windows上无法执行。
bionic目录:针对Android系统定制的仿生标准C库、链接器等所在目录,Android系统并没有使用Linux的glibc库。bioinc C库针对嵌入式系统做了优化,添加了一些Android特定的函数API同时大大减少库的体积,也避免了LGPL版权的问题。
bootable目录:这个目录下存放android部分启动相关代码,包括android的recovery模式,一般用于进行OTA升级,由C++编写,可以看到用于显示的ui.cpp和安装的nstall.cpp,模式入口为recovery.cpp的main.
build目录:Android的编译系统目录,里面包含大量的Makefile文件,用来编译目标系统、Host主机开发环境等。这是android源码中编译核心所在地,把这个目录下的所有mk搞清楚,android的编译体系就基本了如指掌了。
cts目录:兼容性测试工具目录。
dalvik目录:Dalvik虚拟机,Android系统得以运行的虚拟执行环境。
development目录:应用程序开发所需要的模板和工具。
devices目录:厂商设备配置目录,针对不同设备,由不同的子目录来分别管理,用来裁剪实现不同设备上Android目标系统。
docs目录:官方网站文档。
external目录:Android系统使用的其它开源代码目录,如jpeg图片解码开源库、opencore开源代码等。
frameworks目录:框架层代码,frameworks/base目录下存放目标系统的框架库,frameworks/policies/base下存放应用程序框架代码。
hardware目录:HAL(Hardware Abstraction Layer)硬件抽象层代码;描述对linuxkernel中的相关驱动模块的具体操作,而在kernel中的驱动模块只拥有通用操作接口,比如设置寄存器值,IO拉高拉低,但是具体设置什么值,拉高拉低的时序都写在hardware层相对应的module中,这就是google对于硬件驱动的商业保护。
kernel目录:Linux内核目录,默认下载的Android源码里没有,需单独下载。
libcore目录:一些有用的库,像xml、Jason、luni。
ndk目录:ndk相关开发工具。
out目录:编译完成后的文件输出与此目录。
packages目录:Android系统级应用程序源码目录,如摄像应用、电话应用等。
prebuilt目录:主机编译工具目录,如arm-linux-gcc交叉系统工具链等。
sdk目录:    SDK及模拟器。
system目录:init进程、蓝牙、无线WIFI工具、uevent进程目录;底层文件系统库、应用及组件——C语言。
Makefile文件:在顶层目录编译,利用的默认Makefile,它只是简单包含了build/core/main.mk。
下面对各个目录分别详细介绍:
1、bionic目录:
|--libc  (C库)
| |--arch-arm  (ARM架构,包含系统调用汇编实现)
| |--arch-x86  (x86架构,包含系统调用汇编实现)
| |--bionic  (由C实现的功能,架构无关)
| |--docs  (文档)
| |--include  (头文件)
| |--inet  (inet相关,具体作用不明)
| |--kernel  (Linux内核中的一些头文件)
| |--netbsd  (系统相关,具体作用不明)
| |--private  (一些私有的头文件)
| |--stdio  (stdio实现)
| |--stdlib  (stdlib实现)
| |--string  (string函数实现)
| |--tools  (几个工具)
| |--tzcode  (时区相关代码)
| |--unistd  (unistd实现)
| |--zoneinfo  (时区信息)
|--libdl  (libdl实现,dl是动态链接,提供访问动态链接库的功能)
|--libm  (libm数学库的实现)
| |--alpha  (alpha架构)
| |--amd64  (amd64架构)
| |--arm  (arm架构)
| |--bsdsrc  (bsd的源码)
| |--i386  (i386架构)
| |--i387  (i387架构)
| |--ia64  (ia64架构)
| |--include  (头文件)
| |--man  (数学函数)
| |--powerpc  (powerpc架构)
| |--sparc64  (sparc64架构)
| |--src  (源代码)
|--libstdc++  (libstdc++  C++头文件)
| |--include  (头文件)
| |--src  (源代码)
|--libthread_db  (多线程程序的调试器库)
| |--include  (头文件)
|--linker  (动态链接器库)
| |--arch  (支持arm和x86两种架构)
2、bootable目录:
|--bootloader  (适合各种bootloader的通用代码)
| |--legacy  (估计不能直接使用,可以参考)
| | |--arch_armv6  (V6架构,几个简单的汇编文件)
| | |--arch_msm7k  (高通K7处理器架构的几个基本驱动)
| | |--include  (通用头文件和高通K7架构文件)
| | |--libboot  (启动库,都写的很简单)
| | |--libc  (一些常用的C函数)
| | |--nandwrite  (nandwrite函数实现)
| | |--usbloader  (usbloader实现)
| |--diskinstaller  (android镜像打包器,x86可生产iso)
| |--recovery  (系统恢复相关)
| | |--applypatch  (补丁工具)
| | |--edify  (升级脚本使用的edify脚本语言)
| | |--etc  (init.rc恢复脚本)
| | |--minelf  (不清楚)
| | |--minui  (一个简单的UI)
| | |--minzip  (一个简单的压缩工具)
| | |--mtdutils  (mtd工具)
| | |--res  (资源文件)
| | |--testdata  (测试数据)
| | |--tools  (工具)
| | | |--ota  (OTA Over The Air Updates升级工具)
| | |--updater  (更新相关)
3、build目录:
|--core  (核心编译规则)
|--lib
| |--host  (主机端库,有android “cp”功能替换)
|--target  (目标机编译对象)
| |--board  (开发平台)
| | |--emulator  (模拟器)
| | |--generic  (通用)
| | |--generic_armv5  (armv5通用)
| |--product  (开发平台对应的编译规则)
| | |--security  (密钥相关)
|--tools  (编译中主机使用的工具及脚本)
| |--acp  (Android "acp" Command)
| |--apicheck  (api检查工具)
| |--atree  (tree工具)
| |--bin2asm  (bin转换为asm工具)
| |--check_prereq  (检查编译时间戳工具)
| |--droiddoc  (作用不明,java语言,网上有人说和JDK5有关)
| |--fs_config  (This program takes a list of files and directories)
| |--fs_get_stats  (获取文件系统状态)
| |--releasetools  (生成镜像的工具及脚本)
| |--rgb2565  (rgb转换为2565)
| |--signapk  (apk签名工具)
| |--zipalign  (zip archive alignment tool)
4、cts兼容性测试工具目录。
5、Dalvik目录:
|-dalvikvm  (main.c的目录)
|--dexdump  (dex反汇编)
|--dexgen  
|--dexlist  (List all methods in all concrete classes in a DEX file.)
|--dexopt  (预验证与优化)
|--docs  (文档)
|--dvz  (和zygote相关的一个命令)
|--dx  (dx工具,将多个java转换为dex)
|--hit  (java语言写成)
|--libdex  (dex的库)
|--libnativehelper  (Support functions for Android's class libraries)
|--tests  (测试代码)
|--tools  (工具)
|--unit-tests  (单元测试)
|--vm  (虚拟机)
6、development目录:
|--apps  (些核心应用程序)
| |--BluetoothDebug  (蓝牙调试程序)
| |--BuildWidget
| |--CustomLocale  (自定义区域设置)
| |--Development  (开发)
| |--Fallback  (和语言相关的一个程序)
| |--FontLab  (字库)
| |--GestureBuilder  (手势动作)
| |--launchperf 
| |--NinePatchLab  
| |--OBJViewer  (OBJ查看器)
| |--SdkSetup  (SDK安装器)
| |--WidgetPreview  (插件预览器)
|--build  (编译脚本模板)
|--cmds  (有个monkey工具)
|--data  (配置数据)
|--docs  (文档)
|--host  (主机端USB驱动等)
|--ide  (集成开发环境)
|--ndk  (本地开发套件——c语言开发套件)
|--pdk  (Plug Development Kit)
|--samples  (各种应用例子)
|--scripts  (脚本)
|--sdk  (sdk配置)
|--testrunner  (测试用)
|--tutorials  (教程)
7、device目录:厂商设备配置目录,针对不同设备,由不同的子目录来分别管理,用来裁剪实现不同设备上Android目标系统。
8、docs目录:官方网站文档。
9、external目录:Android系统使用的其它开源代码目录,如jpeg图片解码开源库、opencore开源代码等。
10、framework目录:
frameworks 目录 (核心框架——java及C++语言)
|-- base (基本内容)
| |-- api (?都是xml文件,定义了java的api?)
| |-- awt (AWT库)
| |-- build (空的)
| |-- camera (摄像头服务程序库)
| |-- cmds (重要命令:am、app_proce等)
| |-- core (核心库)
| |-- data (字体和声音等数据文件)
| |-- docs (文档)
| |-- graphics (图形相关)
| |-- include (头文件)
| |-- keystore (和数据签名证书相关)
| |-- libs (库)
| |-- location (地区库)
| |-- media (媒体相关库)
| |-- obex (蓝牙传输库)
| |-- opengl (2D-3D加速库)
| |-- packages (设置、TTS、VPN程序)
| |-- sax (XML解析器)
| |-- services (各种服务程序)
| |-- telephony (电话通讯管理)
| |-- test-runner (测试工具相关)
| |-- tests (各种测试)
| |-- tools (一些叫不上名的工具)
| |-- vpn (VPN)
| |-- wifi (无线网络)
|-- opt (可选部分)
| |-- com.google.android (有个framework.jar)
| |-- com.google.android.googlelogin (有个client.jar)
| |-- emoji (standard message elements)
|-- policies Product policies are operating system directions aimed at specific uses)
|-- base
|-- mid (MID设备)
|-- phone (手机类设备,一般用这个)
11、hardware目录:
hardware 目录 (部分厂家开源的硬解适配层HAL代码)
|-- broadcom (博通公司)
| |-- wlan (无线网卡)
|-- libhardware (硬件库)
| |-- include (头文件)
| |-- modules (Default (and possibly architecture dependents) HAL modules)
| |-- gralloc (gralloc显示相关)
| |-- overlay (Skeleton for the "overlay" HAL module.)
|-- libhardware_legacy (旧的硬件库)
| |-- flashlight (背光)
| |-- gps (GPS)
| |-- include (头文件)
| |-- mount (旧的挂载器)
| |-- power (电源)
| |-- qemu (模拟器)
| |-- qemu_tracing (模拟器跟踪)
| |-- tests (测试)
| |-- uevent (uevent)
| |-- vibrator (震动)
| |-- wifi (无线)
|-- msm7k (高通7k处理器开源抽象层)
| |-- boot (启动)
| |-- libaudio (声音库)
| |-- libaudio-qsd8k (qsd8k的声音相关库)
| |-- libcamera (摄像头库)
| |-- libcopybit (copybit库)
| |-- libgralloc (gralloc库)
| |-- libgralloc-qsd8k (qsd8k的gralloc库)
| |-- liblights (背光库)
| |-- librpc (RPC库)
|-- ril (无线电抽象层)
| |-- include (头文件)
| |-- libril (库)
| |-- reference-cdma-sms (cdma短信参考)
| |-- reference-ril (ril参考)
| |-- rild (ril后台服务程序)
|-- ti (ti公司开源HAL)
|-- omap3 (omap3处理器)
| |-- dspbridge (DSP桥)
| |-- libopencorehw (opencore硬件库)
| |-- liboverlay (overlay硬件库)
| |-- libstagefrighthw (stagefright硬件库)
| |-- omx (omx组件)
|-- wlan (无线网卡)
12、packages目录:
packages 目录
|-- apps                  (应用程序库)
| |-- AlarmClock             (闹钟)
| |-- Bluetooth                (蓝牙)
| |-- Browser                (浏览器)
| |-- Calculator                (计算器)
| |-- Calendar                (日历)
| |-- Camera                 (相机)
| |-- CertInstaller            (在Android中安装数字签名,被调用)
| |-- Contacts                (拨号(调用)、联系人、通话记录)
| |-- DeskClock                (桌面时钟)
| |-- Email                        (Email)
| |-- Gallery                      (相册,和Camera类似,多了列表)
| |-- Gallery3D                (?3D相册)
| |-- GlobalSearch        (为google搜索服务,提供底层应用)
| |-- GoogleSearch        (google搜索)
| |-- HTMLViewer       (浏览器附属界面,被浏览器应用调用,同时提供存储记录功能)
| |-- IM                        (即时通讯,为手机提供信号发送、接收、通信的服务)
| |-- Launcher            (登陆启动项,显示图片框架等等图形界面)
| |-- Launcher2            (登陆启动项,负责应用的调用)
| |-- Mms                  (?彩信业务)
| |-- Music                 (音乐播放器)
| |-- PackageInstaller        (安装、卸载程序的响应)
| |-- Phone                     (电话拨号程序)
| |-- Provision                (预设应用的状态,使能应用)
| |-- Settings   (开机设定,包括电量、蓝牙、设备信息、界面、wifi等)
| |-- SoundRecorder        (录音机,可计算存储所需空间和时间)
| |-- Stk                         (接收和发送短信)
| |-- Sync         (空)   -------○1
| |-- Updater              (空)
| |-- VoiceDialer                (语音识别通话)
|-- inputmethods                (输入法)
| |-- LatinIME                (拉丁文输入法)
| |-- OpenWnn                (OpenWnn输入法)
| |-- PinyinIME                (拼音输入法)
|-- providers           (提供器,提供应用程序、界面所需的数据)
| |-- ApplicationsProvider(应用程序提供器,提供应用程序启动项、更新等)
| |-- CalendarProvider                        (日历提供器)
| |-- ContactsProvider                        (联系人提供器)
| |-- DownloadProvider                (下载管理提供器)
| |-- DrmProvider                        (创建和更新数据库时调用)
| |-- GoogleContactsProvider  (联系人提供器的子类,用以同步联系人)
| |-- GoogleSubscribedFeedsProvider(设置信息提供器)
| |-- ImProvider                 (空)
| |-- ManagementProvider        (空)
| |-- MediaProvider             (媒体提供器,提供存储数据)
| |-- TelephonyProvider         (彩信提供器)
| |-- UserDictionaryProvider        (用户字典提供器,提供用户常用字字典)
| |-- WebSearchProvider                (空)
|-- services                                        
| |-- EasService                                (空)
| |-- LockAndWipe                        (空)
|-- wallpapers                                        (墙纸)
| |-- Basic         (基本墙纸,系统内置墙纸)
| |-- LivePicker            (选择动态壁纸)
| |-- MagicSmoke           (壁纸特殊效果)
| |-- MusicVisualization      (音乐可视化,图形随音乐而变化)
13、prebuilt目录:
prebuilt 目录 (x86和arm架构下预编译的一些资源)
|-- android-arm     (arm-android相关)
| |-- gdbserver         (gdb调试器)
| |-- kernel      (模拟的arm内核)
|-- android-x86     (x86-android相关)
| |-- kernel           (空的)
|-- common       (通用编译好的代码,应该是java的)
|-- darwin-x86        (drawin x86平台)
| |-- toolchain           (工具链)
| | |-- arm-eabi-4.2.1        
| | |-- arm-eabi-4.3.1        
| | |-- arm-eabi-4.4.0        
|-- darwin-x86_64   (drawin x86 64bit平台)
|-- linux-x86          (linux x86平台)
| |-- toolchain                (工具链,我们应该主要用这个)
| | |-- arm-eabi-4.2.1        
| | |-- arm-eabi-4.3.1        
| | |-- arm-eabi-4.4.0        
| | |-- i686-unknown-linux-gnu-4.2.1        (x86版编译器)
|-- linux-x86_64     (linux x86 64bit平台)
|-- windows              (windows平台)
|-- windows-x86_64      (64bit windows平台)
14、system目录:
system 目录        (底层文件系统库、应用及组件——C语言)
|-- Bluetooth         (蓝牙相关)
|-- core        (系统核心工具盒接口)
| |-- adb                (adb调试工具)
| |-- cpio                (cpio工具,创建img)
| |-- debuggerd        (调试工具)
| |-- fastboot        (快速启动相关)
| |-- include                (系统接口头文件)
| |-- init                (init程序源代码)
| |-- libacc                (轻量级C编译器)
| |-- libctest                (libc测试相关)
| |-- libcutils        (libc工具)
| |-- liblog                (log库)
| |-- libmincrypt        (加密库)
| |-- libnetutils        (网络工具库)
| |-- libpixelflinger        (图形处理库)
| |-- libsysutils        (系统工具库)
| |-- libzipfile        (zip库)
| |-- logcat                (查看log工具)
| |-- logwrapper        (log封装工具)
| |-- mkbootimg        (制作启动boot.img的工具盒脚本)
| |-- netcfg                (网络配置netcfg源码)
| |-- nexus                (google最新手机的代码)
| |-- rootdir                (rootfs,包含一些etc下的脚本和配置)
| |-- sh                        (shell代码)
| |-- toolbox                (toolbox,类似busybox的工具集)
|-- vold                (SD卡管理器)
|-- extras                (额外工具)
| |-- latencytop a tool for software developers,identifying system latency happen)
| |-- libpagemap        (pagemap库)
| |-- librank                (Java Library Ranking System库)
| |-- procmem        (pagemap相关)
| |-- procrank        (Java Library Ranking System相关)
| |-- showmap        (showmap工具)
| |-- showslab        (showslab工具)
| |-- sound                (声音相关)
| |-- su                        (su命令源码)
| |-- tests                (一些测试工具)
| |-- timeinfo        (时区相关)
 

转载于:https://my.oschina.net/cht2000/blog/887938

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简答题c语言文件操作顺序,计算机基础与程序设计2012年4月真题试题(02275)

计算机基础与程序设计2012年4月真题试题与答案解析(02275)计算机基础与程序设计2012年4月真题试题与答案解析(02275),本试卷总共100分。一、单项选择题(本大题共20小题.每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的&#xff0c…

汇编实验3

1.运行如下代码: assume cs:codecode segment mov ah,2 mov dl,3 add dl,30h int 21h mov ah,2 mov dl,6 add dl,30h int 21h mov ah,4ch int 21hcode endsend 进行汇编运行之后结果为: 将第四行和第九行的寄存器dl的值修改之后代码如下: a…

听了一堂《**学院》的课,我也是醉了

这还是首席讲师的ppt,这说话咋感觉,不像是技术出身,反倒是MongoDB的销售人员呢。 这说话,不大讲相对,净他妈的 绝对,这水平,我真醉了。 这牛逼吹得,啧啧啧。 我还是看书吧。 转载于:…

appium 环境搭建(不推荐安装此版本appium,推荐安装appium desktop)

一:安装node.js 1、双击这个软件 2、一键安装,全都下一步,不要私自更改安装路径 3、打开cmd,输入npm,出现如下截图表示成功 二:安装appium 1、双击appium-installer.exe 2、一键安装,全都下一步…

二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)

填空题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。ss所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1, s2)的功能是在 s1串…

js 数组遍历符合条件跳出循环体_C++模拟面试:从数组“紧凑”操作说开来

面试官自来也去掉一个字符串中的空格。假设用C语言来解答,字符串是char数组。O(n)时间复杂度实现不难,比如额外申请一个新数组,然后遍历一遍字符串,将符合条件的字符存储到新数组中,实现起来很简单。但这显然不能让面试…

基本入门程序编写格式和注意事项

在安装好JDK后联系程序的基本写法。1、先创建记事本,如果有超级记事本如:notepad、ultraedit、editplus等更好。重命名把记事本后面的后缀名改为.java 但是值得注意的是要看看自己创建的记事本文档是否是隐藏后缀名的。要是有设置隐藏的就取消隐藏,以免混…

.dll文件存在但是不显示_一招巧妙解决U盘内文件明明存在,打开U盘而内容却不显示的问题...

大家可能都遇到过这种情况,就是说U盘中明明有文件,但是插在电脑上就是什么文件都没有,一片空白,这样的问题对于那些对文件很重要且仅保存了1份的人来说是很.kongbu.,因为U盘中的内容都是命根子。给大家介绍绝对有用的解…

Vue 框架-05-动态绑定 css 样式

Vue 框架-05-动态绑定 css 样式 今天的小实例是关于 Vue 框架动态绑定 css 样式,这也是非常常用的一个部分 首先说一下 动态绑定,相对的大家都知道静态绑定,静态绑定的话,直接加 class“”就可以了,使用 Vue 呢之前也介…

bool查询原理 es_ES系列之原理copy_to用好了这么香

写在前面Elasticsearch(以下简称ES)有个copy_to的功能,之前在一个项目中用到,感觉像是发现了一个神器。这个东西并不是像有些人说的是个语法糖。它用好了不但能提高检索的效率,还可以简化查询语句。基本用法介绍直接上示例。先看看mapping&am…

vnr光学识别怎么打开_干货|指纹锁的指纹识别模块的前世今生,智能锁的指纹识别到底有多智能?...

智能锁现在也有很多叫法:指纹锁、电子锁。可见指纹识别是智能锁的核心功能了,那我们今天来聊聊智能锁的指纹识别模块。指纹识别的历史指纹识别认证的流程指纹识别技术的种类指纹识别的历史早在2000多年前我国古代的人就将指纹用于签订合同和破案了&#…

hide show vue 动画_(Vue动效)7.Vue中动画封装

关键词&#xff1a;动画封装——进行可复用一、如何封装&#xff1f;1、使用&#xff1a;局部组件传递数据局部组件中使用JS动画2、原理&#xff1a;将动画效果完全第封装在一个名为<fade>的组件中&#xff0c;今后如要复用&#xff0c;只需要复制有其组件名的部分&#…

《Python地理数据处理》——导读

前言本书可以帮助你学习使用地理空间数据的基础知识&#xff0c;主要是使用GDAL / OGR。当然&#xff0c;还有其他选择&#xff0c;但其中一些都是建立在GDAL的基础之上&#xff0c;所以如果你理解了本书中的内容&#xff0c;就可以很轻松地学习其他知识。这不是一本关于地理信…

记一次Java AES 加解密 对应C# AES加解密 的一波三折

最近在跟三方对接 对方采用AES加解密 作为一个资深neter Ctrl CV 是我最大的优点 所以我义正言辞的问他们要了demo java demo代码&#xff1a; public class EncryptDecryptTool {private static final String defaultCharset "UTF-8";private static final String …

zemax评价函数编辑器_ZEMAX与光学设计案例:激光扩束系统详细设计与公差分析(二)...

目前超过两千人的光学与光学设计方面的微信公众号&#xff0c;欢迎您的到来&#xff01;激光扩束系统公差分析ZEMAX与光学设计案例&#xff1a;激光扩束系统详细设计与公差分析(二)作者&#xff1a;墨子川上10倍扩束系统在上篇已经设计好了&#xff0c;接下来就是进行系统的公差…

UiPath: Selectors repair 选择器的修复,即被选择的按钮发生改变如何选择第二按钮...

实现批量注册用户功能时&#xff0c;出现第一个用户注册完时&#xff0c;弹出确认按钮&#xff0c;点击即可&#xff0c;但是第二个用户注册完成时&#xff0c;弹出的按钮与第一个有差异&#xff0c;图形用户界面元素及其父元素的属性都发生改变。所以就点不了按钮&#xff0c;…

《C专家编程》一1.6 它很棒,但它符合标准吗

本节书摘来自异步社区《C专家编程》一书中的第1章&#xff0c;第1.6节&#xff0c;作者 【美】Perter Van Der Linde&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 1.6 它很棒&#xff0c;但它符合标准吗 不要添乱——立即解散ISO工作小组。 ——匿名人士 …

abap al设置单元格可编辑 oo_excel表格操作: 图形和图表编辑技巧汇总(二)

1. 快速选取图表元素图表创建好以后&#xff0c;我们还需要对某些图表元素进行编辑和格式化。图表区包括整个图表和它的全部元素&#xff0c;当你选取图表区后&#xff0c;你就可以看到8个黑色小方块。要想调整单个的图表对象&#xff0c;首先必须选取该对象&#xff0c;然后更…

我的北航故事

我的北航故事 致 沙航的我 既然是故事&#xff0c;那就一定少不了我们耳熟能详的时间&#xff0c;地点&#xff0c;人物&#xff0c;事件&#xff0c;发展&#xff0c;高潮&#xff0c;结局。经过反复的琢磨&#xff0c;我觉得还是写成日记形式比较适合&#xff0c;一是为了掩盖…

CDB和PDB的创建、连接、启动、关闭

CDB和PDB的创建、连接、启动、关闭 一、CDB和PDB基本管理 基本概念&#xff1a; Multitenant Environment&#xff1a;多租户环境 CDB&#xff08;Container Database&#xff09;&#xff1a;数据库容器 PD&#xff08;Pluggable Database&#xff09;&#xff1a;可插拔数据库…