1. 基本架构
Linux 内核: Android 基于Linux 内核。例如 Android Runtime (ART) 依靠Linux内核来执行底层功能,例如线程和底层内存管理。使用 Linux 内核让Android 利用主要的安全功能,并于需设备制造商为内核开发硬件驱动程序。
硬件抽象层 HAL: 是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把Android framework 与 Linux 内核隔开,让Android不至于过度依赖 Linux 内核,已达成 Kernel independent 的思想,同时可以 让 Android framework 的开发人员在不考量驱动程序实现的前提下进行稳定的更新
Android runtime 运行环境 :对于 5.0 (API 版本 > 21) 的设备使其可以独立运行,并且有自己的 ART Android Runtime 实力。 ART 编写为可执行 DEX 文件在低内存设备上云翔多个虚拟机,dex 文件是专门为 Android 设计的字节码格式,内存少,编译工具链如 Jack 将 Java源代码编译为 Dex 字节码,使其可在 Android 平台上运行
原生C/C+库:许多核型的 安卓 系统组件和服务(ART 和 HAL )构建自原生代码,需要以 C 或 C ++ 编写原生库。安卓平台提供 Java 框架 API 以向应用显示其部分原生库的功能。例如,您可以通过 安卓框架 Java openGL API 访问 OpenGL ES 以支持在应用中绘制和操作 2D和3D图形。如果开发需要 C/C++代码的应用,可以使用 Android NDK 直接从 原生代码访问某些原生平台库
Java Api :
Activity view system ,content Providers, Resource, Notification ,Telephoney, Location, 等。
System Apps : EMail Calandar Camera 等系统组件APP
2. 四大组件
活动 Activity: Android 中,Activity是所用程序的基础,基础的模块,每个页面都是一个activity ,页面的跳转其实都是 一个Activity。是直观可以看到的
Service: 是android 是系统中的一个组件,跟 activity 同级别,不能独自运行,只能后台运行,可以和其他组件交互,Service 没有界面的长生命周期代码。
广播器BroadcastRecover :是android 中一种APP之间传输信息的机制,进程级别
内容提供者 ContentProvider :是Android 提供的第三方的数据访问解决方案,但是Android 的数据管控是严格的,安卓中不允应用间许直接相互访问,通过ContentProvider 来交互,访问第三方应用的数据
3. 优势 开源开放,丰富的硬件,
4. 开发环境的搭建
Android studio 基于 Intellij Idea 开发工具。JDK
- 基于 Gradle 构建
- 下载 地址 Download Android Studio & App Tools - Android Developers
- Eclipse 早起的开发工具
- SDK 软件开发工具包 ,采用 Java 语言,安装j d k1.5 及以上
- 下载SDK压缩包,解压下载所需平台的即可, 配置 Android Studio 的SDK Location ,点击 Configure -> Settings -> 搜索 SDK -> 选择 SDK 解压目录即可
- SDK相关资源下载,下载Android 平台的版本 9.0 - 28 / 10.0 -29;SDK Tools NDK / Document for Android SDK / Intel x86 Emulator Accelerator (HAXM installer) 模拟器需要
- Apply即可下载
- 环境变量配置
- ANDROID_HOME D:\mysofts\. ->. Path ->. %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
- CMD -> adb 查看 android 版本
5.