Android系统架构-AndroidStudio文件架构-1

来源:互联网 发布:读诗书明德知礼下联 编辑:程序博客网 时间:2024/05/17 03:23

1.Android系统架构

Linux内核层、系统运行库层、应用框架层和应用层;Android4.0 不再对手机和平板进行差异化区分;Android5.0 Dalvik虚拟机改为ART运行环境,每个应用运行在独立的进程,拥有一个自己的 Dalvik虚拟机实例;Material Design的改了优化界面设计;进军可穿戴设备、汽车、电视等;Android6.0 加入运行时权限功能;Android7.0 加入多窗口模式功能; 

1.1 Linux内核:

这一层为安卓设备的各种硬件提供底层的驱动,如显示驱动、音频驱动、BT驱动、WIFI驱动、照相机驱动、电源管理等;

1.2 系统运行层

C/C++库,如SQLite,Webkit等;Android运行库提供一些核心库,如虚拟机;

1.3 应用框架层

各种API等;

1.4 应用层

自带程序,开发的apk等;

2.AndroidStudio文件架构

2.1 .gradle和.idea

自动生成,无需关心;

2.2 app

代码、资源等内容;#1.build 自动生成#2.libs 项目中第三方jar包#3.androidTest 编写自动测试化用例等#4.java Java代码#5.res 图片、字符串、图片、布局等资源文件#6.AndroidManifest.xml 配置、权限、四大组件声明#7.test 编写UnitTest测试用例#8.gitnore 指定目录或文件排除版本控制之外#9.app.iml 标识#10.build.gradle app模块构建脚本,构建配置,依赖库,版本信息等{version,defaultConfig(改包名),buildType(minifyEnabled用于指定是否混淆,txt通用混淆,pro可编写混淆),dependencies(compile fileTree本地依赖添加,compile远程依赖)}#11.proguard-rules.pro 代码混淆规则

2.3 build

不需要关心,主要包含一些在编译时自动生成的文件;

2.4 gradle

包含gradle wrapper的配置文件;

2.5 .gitgnore

用来将指定的目录或文件排除在版本控制之外;

2.6 build.gradle

项目全局的gradle构建脚本,一般不需要修改;

2.7 gradle.properties

这个文件是全局gradle配置文件,影响所有项目中所有的gradle编译脚本;

2.8 gradlew和gradlew.bat

命令行界面中执行gradle命令,gradlew和gradlew.bat一个是Mac.Linux,一个是在Windows中使用;

2.9 $appname.iml

标识这是一个IntelliJ IDEA项目,不需要修改;

2.10 local.properties

指定本机中的Android SDK路径,通常自动生成,除非路径发生变化;

2.11 settings.gradle

这个文件用于指定项目中所有引入的模块,一般自动完成;