搭建 Android Automotive 开发环境

Posted bug樱樱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建 Android Automotive 开发环境相关的知识,希望对你有一定的参考价值。

前言

android Automotive 开发环境的搭建也蛮麻烦的,其实好的开发环境第一次的搭建都不是那么简单,可能你看起来是挺简单的 但是确实容易出错。

一、搭建流程

安装OpenJDK8

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update 
sudo apt-get install openjdk-8-jdk

切换方法

sudo update-alternatives --config java
sudo update-alternatives --config javac

如果是下载的安装包,不是apt-get install,可以这样配置(Google因为license的问题放弃对oracle编译环境的使用,统一用OpenJDK,以下仅供过程演示)

1. 配置环境变量,在文件etc/profile中添加:
set java environmentexport JAVA\\_HOME=/usr/local/jdk1.8.0\\_91  
export JRE\\_HOME\\=$JAVA\\_HOME/jre  
export CLASSPATH\\=.:$JAVA\\_HOME/lib:$JRE\\_HOME/lib  
export PATH\\=$JAVA\\_HOME/bin:$PATH

2. 安装
sudo update\\-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0\\_91/bin/java 300 
sudo update\\-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0\\_91/bin/javac 300 

也可以remove

sudo update-alternatives --remove java /usr/local/jdk1.8.0\\_91/bin/java
sudo update\\-alternatives --remove javac /usr/local/jdk1.8.0\\_91/bin/javac 

后文

关于Android Automotive 的文本资料我都有整理需要的小伙伴可以扫描二维码领取!

Android Framework学习指南,全家桶学习资料(含 Framework 开发揭秘、内核解析及高频面试真题)

Framework 即应用框架层,是 Android 架构 的关键组成部分,为我们开发应用程序提供了非常多的API,使得开发者通过简单调用API即可开始APP的开发,而不用详细了解 Android 系统纷繁复杂的底层知识。

为帮助大家了解 Framework 在整个 Android 架构中的功能与构造,系统的学习和掌握Android framework,这里特意联合了阿里P7架构师和谷歌技术团队共同整理了一份 Android framework 全家桶学习资料。

内容概要:《Android Framework 开发揭秘》;Android Framework 高频面试题总结;Android Framework 精编内核解析;Android 11.0 最新 Framework解析。

内容特点:条理清晰,含图像化表示更加易懂。

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android Framework进阶学习指南》完整文档的可扫描下方卡片免费获取~

《Android Framework 开发揭秘》

目录

第一章 系统启动流程分析

​ ● 第一节 Android启动概览

​ ● 第二节 init.rc解析

​ ● 第三节 Zygote

​ ● 面试题

第二章 Binder解析

​ ● 第一节 宏观认识Binder

​ ● 第二节 binder的jni方法注册

​ ● 第三节 binder驱动

​ ● 第四节 数据结构

​ ● 第五节 启动service_manager

​ ● 第六节 获取service_manager

​ ● 第七节 addService流程

​ ● 第八节 Binder面试题全解析

第三章 Handler解析

​ ● 第一节 源码分析

​ ● 第二节 难点问题

​ ● 第三节 Handler常见面试题

第四章 AMS解析

​ ● 第一节 引言

​ ● 第二节 Android架构

​ ● 第三节 通信方式

​ ● 第四节 系统启动系列

​ ● 第五节 AMS

​ ● 第六节 AMS面试题解析

第五章 WMS解析

​ ● 第一节Activity与Window相关概念

​ ● 第二节 Android窗口管理服务WindowManagerService计算Activity窗口大

​ ● 第三节Android窗口管理服务WindowManagerService对窗口的组织方式分析

​ ● 第四节 Android窗口管理服务WindowManagerService对输入法窗口(Input

​ ● 第五节 Android窗口管理服务WindowManagerService对壁纸窗口(Wallpap

​ ● 第六节Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

​ ● 第七节Android窗口管理服务WindowManagerService显示Activity组件的启

​ ● 第八节Android窗口管理服务WindowManagerService切换Activity窗口(A

​ ● 第九节 Android窗口管理服务WindowManagerService显示窗口动画的原理分析

第六章PKMS Android10.0 源码解读

​ ● 第一节 前言 PKMS是什么东西

​ ● 第二节 PKMS概述信息

​ ● 第三节 PKMS角色位置

​ ● 第四节 PKMS启动过程分析

​ ● 第五节 APK的扫描

​ ● 第六节 PMS之权限扫描

​ ● 第七节 PackageManagerService大综合笔记

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android Framework进阶学习指南》完整文档的可扫描下方卡片免费获取~

《Android Framework 精编内核解析》

目录

第一章 深入解析Binder

​ ● 第一节 Binder系列—开篇

​ ● 第二节 Binder Driver初探

​ ● 第三节 Binder Driver再探

​ ● 第四节 Binder启动ServiceManager

​ ● 第五节 获取ServiceManager

​ ● 第六节 注册服务(addService)

​ ● 第七节 获取服务(getService)

​ ● 第八节 Framework层分析

​ ● 第九节 如何使用Binder

​ ● 第十节 如何使用AIDL

​ ● 第十一节 Binder总结

​ ● 第十二节 Binder面试题全解析

第二章 深入解析Handler消息机制

​ ● 第一节 宏观理论分析与Message源码分析

​ ● 第二节 MessageQueue的源码分析

​ ● 第三节 Looper的源码分析

​ ● 第四节 Handler的源码分析

​ ● 第五节 Handler机制实现原理总结

​ ● 第六节 Handler面试题全解析

第三章 Dalvik VM进程系统

​ ● 第一节 Android系统启动-综述

​ ● 第二节 Init篇

​ ● 第三节 zygote篇

​ ● 第四节 SystemServer上篇

​ ● 第五节 SystemServer下篇

第四章 深入解析WMS

​ ● 第一节 WMS概述

​ ● 第二节 WMS的诞生

第五章 PackageMS启动

​ ● 第一节 PackageMS相关框架类

​ ● 第二节 PackageMS启动过程

第六章 AMS 面试专题

​ ● 第一节 AMS

《Android 11.0最新 Framework 解析》

目录

第一章 系统启动

​ ● 第一节 Android系统结构

​ ● 第二节 Android是怎么启动的

​ ● 第三节 Android 11.0系统启动之init进程

​ ● 第四节 Android11.0系统启动之Zygote进程

​ ● 第五节 Android 11.0 系统启动之SystemServer进程

​ ● 第六节 Android 11.0 系统服务之ActivityMnagerService-AMS启动流程

​ ● 第七节 Android11.0系统启动之Launcher(桌面)启动流程

​ ● 第八节 Android11.0应用进程创建过程以及Zygote的fork流程

​ ● 第九节 Android 11.0 PackageManagerService(一)工作原理及启动流程

​ ● 第十节 Android 11.0 PackageManagerService-APK安装流程

第二章 日志系统篇

​ ● 第一节 Android11.0 日志系统分析-logd、logcat 指令说明、分类和属性

第三章 Binder通信原理

​ ● 第一节 Android11.0 Binder通信原理(一)Binder、HwBinder、VndBinder概要

​ ● 第二节 Android11.0 Binder通信原理(二)-Binder入门篇

​ ● 第三节 Android11.0 Binder通信原理(三)-ServiceManager篇

​ ● 第四节 Android11.0 Binder通信原理(四)-Native-C\\C++实例分析

​ ● 第五节 Android11.0 Binder通信原理(五)-Binder驱动分析

​ ● 第六节 Android11.0 Binder通信原理(六)-Binder数据如何完成定向打击

​ ● 第七节 Android11.0 Binder通信原理(七)-Framework binder示例

​ ● 第八节 Android11.0 Binder通信原理(八)-Framework层分析

​ ● 第九节 Android11.0 Binder通信原理(九)-AIDL Binder示例

​ ● 第十节 Android11.0 Binder通信原理(十)-AIDL原理分析-Proxy-Stub设计模式

​ ● 第十一节 Android11.0 Binder通信原理(十一)-Binder总结

第四章 HwBinder通信原理

​ ● 第一节 HwBinder入门篇-Android10.0 HwBinder通信原理(一)

​ ● 第二节 HIDL详解-Android10.0 HwBinder通信原理(二)

​ ● 第三节 HIDL示例-C++服务创建Client验证-Android10.0 HwBinder通信原理(三)

​ ● 第四节 HIDL示例-JAVA服务创建-Client验证-Android10.0 HwBinder通信原理(四)

​ ● 第五节 HwServiceManager篇-Android10.0 HwBinder通信原理(五)

​ ● 第六节 Native层HIDL服务的注册原理-Android10.0 HwBinder通信原理(六)

​ ● 第七节 JAVA层HIDL服务的注册原理-Android10.0 HwBinder通信原理

​ ● 第八节 HwBinder驱动篇-Android10.0 HwBinder通信原理

​ ● 第九节 HwBinder原理总结-Android10.0 HwBinder通信原理

第五章 编译原理

​ ● 第一节 编译系统入门篇-Android10.0编译系统

​ ● 第二节 编译环境初始化-Android11.0编译系统

​ ● 第三节 make编译过程-Android11.0编译系统(三)

​ ● 第四节 Image打包流程-Android11.0编译系统(四)

​ ● 第五节 Kati详解-Android11.0编译系统

​ ● 第六节 Blueprint简介-Android11.0编译系统-

​ ● 第七节 Blueprint代码详细分析-Android11.0编译系统

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android Framework进阶学习指南》完整文档的可扫描下方卡片免费获取~

《Android Framework 高频面试题总结》

目录

第一章 AMS、PMS

​ ● 第一节 AMS概述

​ ● 第二节 AMS的启动流程

​ ● 第三节 AMS与进程启动

​ ● 第四节 AMS家族

​ ● 第五节 PMS前言

第二章 Activity 启动流程,App 启动流程

​ ● 第一节 Activity的启动模式

​ ● 第二节 什么是Zygote进程

​ ● 第三节 Zygote进程的启动流程

​ ● 第四节 SystemServer进程启动流程

​ ● 第五节 启动服务

第三章 Binder 机制(IPC、AIDL 的使用)

​ ● 第一节 什么是AIDL以及如何使用(★★★★)

​ ● 第二节 AIDL的全称是什么?如何工作?能处理哪些类型的数据?(★★★)

​ ● 第三节 Android的IPC通信方式,线程(进程间)通信机制有哪些

第四章 为什么使用 Parcelable,好处是什么?

​ ● 第一节 实现机制

第五章 Android 图像显示相关流程,Vsync 信号等

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android Framework进阶学习指南》完整文档的可扫描下方卡片免费获取~

更多学习资料,加微信免费领取~

以上是关于搭建 Android Automotive 开发环境的主要内容,如果未能解决你的问题,请参考以下文章

Android Automotive开发之一《编译自己的SDK 》

Android Automotive开发之一《环境: JDK7&JDK8切换 》

Android 车机初体验:Auto,Automotive 傻傻分不清楚?

Android车载应用-Automotive和distractionOptimized

Android车载应用-Automotive和distractionOptimized

软件定义汽车之 Android Automotive OS 发展历程