字幕组成品列表(Beta)
  • 写在前面
  • Android 平台
    • Game On! 游戏开发系列 - 031
      • Pie Noon - 1503060393
      • The Death of Base Game Activity - 1504030543
      • Surviving OpenGL Context Loss - 1504030546
      • WebP for Game Devs - 1504030547
      • Saved Games In-Depth (Part 1) - 1504070556
      • Saved Games In-Depth (Part 2) - 1504030548
      • Smaller Flipbook Textures with CRABBY - 1504030544
      • Google Tag Manager - 1504030545
      • Flatbuffers - 1505050794
      • Achievement Point Pointers - 1505050796
      • Frequency Scaling - 1505050797
      • Meet the Management APIs - 1501140367
      • Y U Ship Broken Games - 1505050795
    • Android 性能优化 - 088
      • Garbage Collection in Android - 1503170425
      • Performance Cost of Memory Leaks - 1503170424
      • Rendering Performance 101 - 1501130351
      • Understanding Overdraw - 1501130352
      • Understanding VSYNC - 1501130353
      • Tool - Profile GPU Rendering - 1501130354
      • Why 60fps? - 1501130355
      • Android UI and the GPU - 1501130356
      • Invalidations, Layouts, and Performance - 1501130357
      • Overdraw, Cliprect, QuickReject - 1501130358
      • Tool - Memory Monitor - 1501130363
      • Battery Performance 101 - 1501130364
      • Understanding Battery Drain on Android - 1501130365
      • Battery Drain and WakeLocks - 1501130366
      • Memory Performance 101 - 1504170661
    • I/O 2014 Android 开发专题 - 089
      • Activity Transitions - 1504020505
      • Building Apps For Android TV - 1504020520
      • Building great Android media experiences - 1504020510
      • Building a quality app from start to finish - 1504020515
      • App Indexing API - 1504020507
      • What's new in WebView - 1504010484
      • Bluetooth Low Energy - 1504010486
      • Building impressive Android media experiences - 1504010493
      • The next Generation of Authentication - 1504020497
      • Don't Alpha That Pixel! - 1504020523
      • NFC + HCE Your phone in an interactive world - 1504020509
      • Demystifying encodes and decodes of WebM - 1504020521
      • Google Cloud Messaging - 1504020524
      • Getting your Game on the Big Screen - 1504020518
      • I hear you like realtime memes - 1504020511
      • Offerize your App - 1504020506
      • Using the Android Job Scheduler - 1504020504
      • From Holo to Material - 1504020526
      • Under the Hood of Android Auto - 1504020501
      • Isolation for Android App Developers - 1504020498
      • Android Work - 1504010496
      • ExoPlayer: Adaptive video streaming on Android - 1504010489
      • Sample rates and resampling: Why can't we all just agree? - 1504010488
      • Drive Android API - 1504010485
    • Android Studio - 004
      • Layout Editor (Ep 3, Android Studio) - 1503290479
      • Introducing Gradle (Ep 2, Android Studio) - 1503170426
    • I/O 2014 Android 分发主题 - 091
      • Introduction to Google Play - 1504030534
      • Google Play: building your user community - 1504030535
      • Optimizing Apps for Education - 1504030536
      • Succeeding in Education Technology - 1504030530
      • Subscriptions Made Easy with Google Play - 1504030531
      • The world is your playground - go global with Google - 1504030533
      • Maximizing discoverability on Google Play - 1504030538
    • Android Auto - 003
      • Introduction to Android Auto - 1504130615
      • Android Auto Messaging - 1504130617
      • Android Auto Audio - 1504130616
    • Android Wear - 006
      • Designing for Android Wear - 1503210448
      • How We Customized Google Apps for Android Wear - 1503210450
      • Fullscreen apps for Android Wear - 1503210445
      • New Notification Features for Android Wear - 1503210446
      • Building Cloud-powered wearable Apps - 1503210449
      • An Introduction to Android Wear - 1503190435
      • Google I/O 2014 - Android Wear: The developer's perspective - 1503210442
      • Devoxx 2014 Interviews: Android Wear - 1503210440
      • DevBytes: Watch Faces for Android Wear - 1503210439
    • Android TV - 005
      • Using the Leanback library - 1504080588
      • Beach Buggy Racing Multiplayer with Nearby Connections (Play Services) - 1503060387
    • Android for Work - 106
      • Android for Work for Developers - 1503060390
      • App Configurations, Testing and Launchers - 1504110590
    • IO Bytes 2014 - Android - 066
      • Chrome Apps on Android and iOS - 1501080014
      • Perf Primer CPU, GPU and your Android game - 1501080017
  • Chrome 平台
    • IO Bytes 2014 - Chrome and Web - 067
      • Using the PageSpeed API - 1505070815
      • Fabulous Forms for the multi-device web - 1505070816
      • Testing multi-screen web pages - 1505070817
      • Responsive images today - 1505070819
      • Web Performance Testing at YouTube - 1505070828
      • Building sites for the multi-device web - 1505070820
      • Deep dive: Google Cloud Messaging for Chrome - 1505070827
  • Google 创业者资源
    • Coffee with a Googler - 012
      • Chat with Allen Huang of AndroidTV - 1503040384
      • Chat with Fred Chung about developer advocacy - 1503070395
      • Google Fit platform with Michelle Haq - 1503210443
      • Android Auto Product Manager Andrew Brenner - 1501120027
      • Chat with Francis Ma about Google Play services - 1501120028
    • Root Access For Startups - 077
      • What we learned building plug-ins for Android, with startup Magnet - 1503230453
      • How to use crowdfunding to your advantage, with startup Hale Devices - 1503280462
      • How to overcome customer objections when selling tech, with startup Guesswork - 1503280458
    • First Things First - 029
      • Getting started with Android: A crash-course in developing for Android - 1504120601
      • How to ask a question: conducting research for your startup - 1504120603
      • MVP Design Hacks: transform your hot idea into a validated prototype - 1504120602
      • Build something people want: Solving real problems - 1504120605
    • How I - 061
      • Use BigQuery to find my most valuable customers - 1504070573
      • Manage beta testing communities using Google Play - 1504070572
      • Use paper wireframing to build native prototypes - 1504070570
      • Used social media and $0 marketing to get 68 million users - 1504070568
      • Prep to fundraise with four questions - 1504070564
      • Validated my idea in 2 days (with no code) - 1504070562
      • Build open platforms on Android - 1504120596
      • Get cheap, automatic analytics for my business using BigQuery - 1504070571
      • Write press releases to get international media coverage - 1504070569
      • Test beta-product features using Google Apps - 1504070563
      • Use URL builder to measure ROI on social media - 1504070561
      • Use events to build DeadSocial's brand - 1504070557
      • Use BigQuery to visualize streaming data - 1503220452
      • Find, screen, and hire developers - 1503120406
      • Drive engagement with social challenges - 1504070558
  • 设计
    • DesignBytes - 017
      • Paper and Ink: The Materials that Matter - 1505050793
  • 云计算
    • DevBytes: Google Cloud Platform - 021
      • Powering the next killer app with the Google Cloud Platform - 1504210672
      • Introduction to Google Cloud Endpoints - 1504210675
      • The Beauty of Scale with Google Cloud Platform - 1504210678
    • Google Cloud Platform - Big Data - 105
      • GDELT & BigQuery: Understand the world - 1502200379
    • Uncategorized - 999
      • Introducing Google Cloud Platform Resources - 1501190370
  • Google 应用开发
    • Launchpad Online - 072
      • The Setup: Creating new apps using Google APIs - 1503190428
      • Listing your files in Google Drive - 1503190429
      • Customizing Google Analytics for your startup - 1503290473
      • The Launchpad Online series - 1503190427
      • Getting started with Google Analytics - 1503290472
      • Accessing Google Maps from a spreadsheet?!? - 1502220381
      • Change the world in 10 lines of code - 1503080398
    • Google Play Services - 054
      • Google Play services 6.1 - 1503290481
      • Google Play Services 7.0 - 1503200437
      • Google Play Services 6.5 - 1501080015
    • 谷歌地图 iOS SDK - 053
      • Maps Live: New Features in the Google Maps Mobile APIs for Android and iOS - 1504300777
    • Google 移动搜索开发 - 055
      • Is your app in the Google index? - 1504120598
      • Get more engaged users with Google Search for Developers - 1503070397
    • DevBytes: Google Cast - 020
      • Google Cast SDK for Android - 1504180666
      • Media Router Framework - Part 1 - Media Router API - 1504180667
      • Overview for Google Cast Receivers - 1504180664
      • Google Cast SDK for iOS - 1504180663
    • Getting Started with the Google Maps SDK for iOS - 035
      • Getting started with the Google Maps SDK for iOS, Part 1 - 1504270757
    • IO Bytes 2014 - Wearables - 070
      • Voice Driven GDK Glassware - 1505280836
    • Route 85 - 078
      • Introducing Route 85 - 1501120022
      • Quick Tip: Don't Default that Switch! - 1501190371
      • OpenInChrome on iOS, Part 1 - 1501120023
      • OpenInChrome on iOS, Part 2 - 1501120024
      • OpenInChrome on iOS, Part 3 - 1501120025
      • OpenInChrome on iOS, Part 4 - 1501120026
    • DevBytes 2014 - 019
      • Web Components - Template - 1505040789
      • Wearable DataLayer API - 1505050792
      • Using srcset for responsive images - 1505050790
      • The picture element for art direction - 1505050791
    • Uncategorized - 999
      • Sun Surveyor brings augmented reality to photographers using Google Maps APIs - 1504200668
      • Snappy travels with the Roads API - 1503060392
      • Easy Maps Apps in Java and Python - 1501140030
  • Google 广告平台
  • Polymer
    • Polycasts - 076
      • The Awesome Power of Auto-Binding Templates -- Polycasts #08 - 1502220382
      • Content Switcheroo with Core-Pages -- Polycasts #09 - 1502200380
      • Core Iconset -- Polycasts #02 - 1505040788
  • Web 平台
    • HTTP 203 - 062
      • Gotchas - 1501140368
      • Font Rendering - 1501080016
    • Web Components - 081
      • DevBytes: Web Components - Overview - 1504250709
  • 宣传视频
    • Uncategorized - 999
      • Google Developers - 1501150369
      • I/O Extended 2014 - Join me - 1502220383
  • Google 各类开发者会议
    • 2014 Chrome 开发者高峰会议 - 009
      • Keynote - Chrome Dev Summit 2014 (Darin Fisher) - 1503120407
      • TLS All the Things! - Security with Performance(Chris Palmer) - 1503140412
      • Let’s build some apps with Polymer!(Rob Dodson) - 1503150415
      • Day One Closing Remarks(Sundar Pichai) - 1503150417
      • Chrome Leadership panel - 1503160422
      • Fundamentals of Mobile Web Development(Matt Gaunt) - 1503150416
    • 2015 游戏开发者大会中 - 039
      • FlatBuffers - 1504150640
      • Games for Google Cast - 1504150637
      • Top 10 Things Android Game Developers Should Know v 3.0 - 1504150643
      • Automate Publishing for Google Play APIs - 1504150639
      • 3 Game Design Mistakes You're Making - 1504150636
      • Android TV - 1504150638
      • How to Go Viral Without Really Trying - 1504150641
    • Devoxx 2014 Interviews - 024
      • What's new in Android 5.0 Lollipop - 1504260740
      • Android Tools - 1504260743
      • BigQuery and user-defined functions - 1504260744
    • IO Bytes 2014 - 065
      • Dart in Google Cloud - 1505070810
      • Big genomic data on Google Cloud Platform - 1505070811
      • Easy International Checkout with Chrome - 1505070802
      • Google developer tools and APIs for iOS - 1503190436
      • Whet your appetite with IO Bytes - 1501080021
    • PlayTime@Shanghai - 095
      • 主题演讲 Chris Yerga - 1504060549
      • 如何成功地开发你的应用 Ellie Powers - 1504060550
      • 在Google上营利 Brahim Elbouchikhi - 1504060551
      • Playtime Shanghai event sizzle reel - 1504070552
    • Project Google I/O 2015 - 098
      • Project Tango Mobile 3D tracking and perception - 1506120857
      • Democratizing Education - 1506120868
      • Improve your Android app’s accessibility - 1506120864
      • Google Cloud Messaging 3.0 - 1506120844
      • Developers connecting the world through Google Play - 1506120862
  • 开源开放技术
    • Compressor Head - 013
      • The Trailer, Season 2 - 1503060385
      • Behind the Scenes - 1503210441
      • Arithmetic Compression (Ep 5, Compressor Head) Google - 1503070394
      • Introducing Compressor Head - 1502120372
      • Episode 1 (Variable Length Codes) - 1502120373
      • Episode 2 (The LZ77 Compression Family) - 1502120374
      • Episode 3 (Markov Chain Compression) - 1502120375
Powered by GitBook
On this page
  • 译者信息
  • 解说词中文版:

Was this helpful?

  1. Android 平台
  2. I/O 2014 Android 开发专题 - 089

Under the Hood of Android Auto - 1504020501

PreviousFrom Holo to Material - 1504020526NextIsolation for Android App Developers - 1504020498

Last updated 5 years ago

Was this helpful?

视频发布时间

2014年6月25日

视频介绍

Your car contains some serious technology. Learn about the Android Auto architecture, which enables you to control Android apps and services running on your phone through your car. In this talk, we'll highlight the key characteristics of the Android Auto protocol, which enables your Android phone to talk to compatible cars. We'll also take a look at some of the details of the Android Auto rendering subsystem, which uses Binders and the Android VirtualDisplay API to composite UI from multiple Android apps. Finally, we'll discuss how we're enhancing the Google Maps app by integrating with the Android Auto platform.

视频推介语

暂无,待补充。

译者信息

翻译

润稿

终审

原始链接

中文字幕

翻译流水号

加入字幕组

黄莘

卢治泷

--

1504020501

解说词中文版:

FABIAN TAMP: 大家好 我是Fabian

我是一个Android和Google Maps团队的软件工程师

我的团队致力于让

你喜欢的Google Apps在你的汽车上也能使用

并且我们对于Android Auto很激动

因为它把你汽车上最后的硬件和

你的Android手机的可升级性,连接性

以及个性化设置全都联系到了一起

你的汽车目前是最复杂的附件

有史以来用在Android手机上的最复杂的一个

它有一堆传感器

以及视听识别功能

让我们从Android Auto的协议开始聊起

这个协议使得你的手机可以和汽车进行交互

这个架构的最大特点之一

就是Android的应用和服务全都运行在

你的手机上同时在你的汽车上控制使用

我们把应用压缩在一个视频流

和音频流之中并且把他们发送到汽车中控单元

通常来说 汽车的更换周期更久

并且汽车中的软件更新的比智能机中的要缓慢很多

所以通过把运算和渲染过程转移到手机上

我们能利用了最新的手机技术的优点

并且保持你的Android Auto体验

在你的汽车的生命周期中始终与时代同步

我们想使得Android Auto的协议是非常容易与

汽车组合到一起的 所以给制造商提供了一个轻便的

C++库 这个库是运行在汽车的中控单元里的Linux,Android

以及QNX系统之上的

这个Android Auto协议使用的核心思想

就是把通道按优先顺序区分好

不同的通道是给你的汽车不同的方面开放的

这个是手机需要联系的

通道是对音频 数据展示 用户输入 位置数据 开放的

比如GPS和轮子转速

这些通道通过USB连接多重传输

这个USB连接是支持

这允许我们给那些影响用户体验最大

的通道优先权

我们已经在Android Open Accessory协议之上创建了这个Android Auto协议

但是它被设计为传输形式不可知的

这样我们能够基于其他的连接形式开放它

比如在未来的Wi-Fi直连

为了格式化数据 我们广泛地使用了protocol buffers

protocol buffers是一个开源的Google技术

这个技术使得未来加入新特性特别地方便

同时得以维护以前版本的稳定性

一个我们的关键的设计目标

是使得Android Auto感觉起来像完全融合进你的汽车里面了

在第一个版本中 我们得到不同的输入

方式的支持 特别是触摸屏

以及硬旋转控制器 在一个相似的方式下

来规则的Android UI支持触摸

以及控制器的模式

我们也支持把指令发送到

仪表盘控制器上 这样可以展现他们以及

当他们可获得的话与你的方向盘的按钮一体化

我们也支持音频路由给不同的在汽车中的音响

在以音频的类型为基础

举个例子 在Google Now中的旅行建议

现在可以仅仅只对于驾车的人

同时音乐的播放是可以被汽车中所有人播放的

总是会有这样的时候 举个例子

当你在收听广播的时候并且想去问Google Now来读一个信息

的时候

所以汽车和手机以类似Android手机上APP之间

相似的协商方式来协商音频的关注点

那个汽车有一个基本申明 关于什么时候Android Auto是可见的

或者什么时候播放音频 这样他可以保证重要的安全提示

以及倒车摄像机是优先的

在手机的一端 我们正在Google Play服务中建设

Android Auto代码 所以你的体验可以是最新的

Android Auto系统广泛地使用Android视觉

展示API

让我们深入下去以及看一下这个渲染系统

在Android Auto中 通过应用过程

的边界展现在一个一般的汽车屏幕上

我们使用XML来确定一个窗口的展示

是被很多不同的应用渲染成功的

这有一个窗口包括了旅行线路

主要信息区域 提示区域

以及一个搜索区域

任何一个窗口事实上是一个android.view.TextureView

Android Auto服务让TextureViews回到

SurfaceTexture 把它包裹在一个表面对象中

并且把它通过二进制接口传输到一个

客户端线程

在客户端的库中 一个私有的视觉展示

被表层给创造出来 并且应用的UI

在扩大在视觉展示上

我们之后致使XML展现通过另一种视觉展现来压缩多页面

这个是被手机硬件视频编码器支持的

然后把内容输出到汽车中控单元

在这个架构背后 有两个核心原则

第一个是灵活性

在XML展现中使用TextureViews

使我们能够任意地展现窗口

这个意味着我们可以利用完全的Android展现系统

包括动画

第二个是安全以及稳定性

通过控制客户端维持在他们自己过程中

我们能把问题从系统中的其他部分孤立出来

并且保证应用没有任何权限去接触他们不能接触的数据

同时 我们也想保证手机上现存的应用

可以利用汽车中可获得的

经过优化的位置信号

所以我们已经把这些信号融合进Google Play服务的

这个Fused Location Provider把智能手机上能使用的

不同位置技术融合起来

比如移动信号 Wi-Fi 以及GPS

这些技术被融合进一个简单高级API 而这个API允许开发者

制定精度要求和更新频率

而不是与单独的位置源进行交互

通过从汽车中加入位置源数据

我们正在增强位置数据的精确度通过使用

应用正在使用的API

所以现在 我将要告诉你有关

我怎么使用Android Auto以及Google Maps应用

来增强汽车内的体验

首先 Google Maps对于导航是更加的简单的

当它投放在一个大的屏幕的前端中心

而不是在一个你的仪表盘上的

小的手机屏幕

我们已经重新设计了Maps来很好地

工作在一个水平方面 并且充分使用了用在汽车上的UI

举例来说 通过减少任务结束时间

以及通过使得触摸目标容易被触碰到

汽车上的Google Maps的众多最大的好处之一就是

使用Fused Location Provider

我们可以使用你汽车中的GPS信息 举例来说

这个将会非常大地提高在城市中驾车的位置质量

我们也可以使用你的汽车罗盘 陀螺仪 车轮速度

以及其他的位置传感器来算出

你正在面对哪条路 以及你已经在

隧道里穿过的确切距离

所有的这些使我们能够给你们更加多的

准确的驾车指南来让你有更少地阻碍开到你的目的地

所以这就是一个Android Auto如何在你的

Android手机以及你的汽车中使用的技术的一个大概描述

以及有关创造一个美好的驾车体验

我们对于Android Auto将要在

汽车内的娱乐以及旅行更在无缝更在联系更在安全

创造出的可能性而非常激动

谢谢观看

Youtube
Youtube
加入 GDG 字幕组
video_screenshot