SlideShare a Scribd company logo
1 of 20
Десятая независимая научно-практическая 
конференция «Разработка ПО 2014» 
23 - 25 октября, Москва 
Что нового в Android 
Кирилл Данилов 
Developer Evangelist 
Samsung Electronics 
5.0
Полный список нововведений 
burst-mode camera, APIs H.265, NDK media, APIs TV input framework, low 
latency audio recording, audio patch-panel, impruved AV sync, USB audio, 
Cast receiver hardware assisted hot-word, ART, 64-bit trusted execution 
environment, volta, impruved battery stats, predicted time remaining, battery 
historian, Battery saver mode, time to charge, time on lock screen, 
JobScheduler, multinetwork, Bluetooth 4.1 BLE, central & peripheral modes, 
HFP 1.6 SAP, multi HFP, Map Email, OpenGL ES3.1 & Android Extencion 
Pack, personal unlocking, enterprise lock to app apis, Document-sentric multi-tasking, 
lockscreen notifications, head-up notifications, do not disturb, new 
quick settings, phone rotation lock, impruved game controller support, Closed 
caption, color inversion, colot space correction, impruved text rendering, 
Material theme, activity transitions, view shadows, new elevation, 
RecycleView, CardView, path animations, color extractor
Что нового в Android 
● Art - замена Dalvik 
● Material Design 
● Новые View 
● Notifications 
● Project Volta 
● WebView 
● Индексирование 
приложений
Art - Android Runtime 
● Зачем нужен Art? 
● Манифест Art 
● Ahead-of-time (AOT) compilation 
● Параллельное выполнение 
● Использование нескольких ядер 
● 85% сразу готовы к архитектуре 64bit 
http://source.android.com/devices/tech/dalvik/art.html
Material Design 
● Цель: создать визуальный язык 
● Принципы: разработать единую 
базовую систему, которая 
позволяет получить одинаковый 
опыт на разных платформах и 
размерах устройств 
http://www.google.com/design/spec/material-design/introduction.html
Material Design: Принципы 
Материал - 
это 
метафора 
Смело, 
графично, 
намеренно 
Движение 
определяет 
смысл 
http://www.google.com/design/spec/material-design/introduction.html
Новые View 
●RecycleView 
●CardView 
●Path animations 
●Color extractor 
●Vector Drawables
RecycleView 
●Обязательное использование шаблона 
HolderView 
●LayoutManager решает, что делать с 
элементом списка 
●RecyclerView.ItemAnimator отвечает за 
анимацию 
●Доступен в support library 
https://github.com/googlesamples/android-RecyclerView
RecycleView 
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> { 
public static class ViewHolder extends RecyclerView.ViewHolder { 
public ViewHolder(View v) { super(v); } 
} 
public CustomAdapter(String[] dataSet) { mDataSet = dataSet; } 
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) { 
View v = LayoutInflater.from... 
ViewHolder vh = new ViewHolder(v); 
return vh; 
} 
public void onBindViewHolder(ViewHolder viewHolder, int position) { 
viewHolder.getmTextView().setText(mDataSet[position]); 
} 
} 
https://github.com/googlesamples/android-RecyclerView
CardView 
<android.support.v7.widget.CardView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:elevation="100dp" 
card_view:cardBackgroundColor="@color/red" 
card_view:cardCornerRadius="8dp" 
android:layout_marginLeft="@dimen/margin_large" 
android:layout_marginRight="@dimen/margin_large"> 
<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_margin="@dimen/margin_medium" 
android:text="@string/cardview_contents"/> 
</android.support.v7.widget.CardView> 
https://github.com/googlesamples/android-CardView
Notifications 
●Вывод на LockScreen: public, 
private, secret 
●High-priority notifications 
●Синхронизация между 
устройствами 
●Expanded layouts 
http://developer.android.com/about/versions/android-5.0.html#Notifications 
https://developer.android.com/design/patterns/notifications.html
Project Volta 
● Scheduling jobs - позволит выполнять задачи пачкой, во время зарядки 
или появления сети 
● Battery Historian и batterystats - выдают аналитические и 
статистические данные по энергопотреблению вашего приложения
Jobschedule api 
JobInfo.Builder builder = new JobInfo.Builder(kJobId++, mServiceComponent); 
builder.setMinimumLatency(Long.valueOf(delay) * 1000); 
builder.setOverrideDeadline(Long.valueOf(deadline) * 1000); 
builder.setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED); 
builder.setRequiresDeviceIdle(mRequiresIdleCheckbox.isChecked()); 
builder.setRequiresCharging(mRequiresChargingCheckBox.isChecked()); 
mTestService.scheduleJob(builder.build()); 
https://github.com/googlesamples/android-JobScheduler
Battery historian 
$ adb shell dumpsys batterystats --enable full-wake-history 
$ adb shell dumpsys batterystats --reset 
Произвести действия с приложением на телефоне 
$ adb bugreport > bugreport.txt 
$ ./historian.py bugreport.txt > result.html 
https://github.com/google/battery-historian/blob/master/historian.py
Battery historian
WebView 
● Основан на Chromium M37 
● Улучшена безопасность и стабильность 
● версия user-agent: 37.0.0.0 
● WebAudio, WebGL, WebRTC 
● Запрос разрешения на getUserMedia() 
● navigator.vibrate 
https://developer.chrome.com/multidevice/webview/overview
Как включить индексирование 
● Добавить поддержку Deeplinking: HTTP scheme (url-based) 
<activity 
<intent-filter 
<action .. VIEW 
<category ...DEFAULT 
<categoty ...BROWSABLE 
<data scheme=http host=example.com pathPrefix=/gizmos 
● Пройти верификацию сайта в консоли GooglePlay в “Службы и API”, 
далее публикация deeplinks и sitemap.xml 
<html 
<head 
<link rel="alternate" href="android-app://com.example/http/example.com/gizmos" /> 
...<url><loc>http://example.com/giznos</loc> 
<xhtml:link rel="alternate" href="android-app://com.example/http/example.com/gizmos" /> 
Отслеживание в WebMasterTools раздел Android App 
● Индексирование, проверка ошибок и статус 
https://developers.google.com/app-indexing/webmasters/
И еще кое что 
● Screen pinning 
● Multiple network connections 
● OpenGL ES 3.1 
● Extension Pack 
● android.media.projection API 
● android.bluetooth.le API 
● Android TV
Вопросы? 
Кирилл Данилов 
@broderix 
+kirilldanilov

More Related Content

Similar to Что нового в Android 5.0

CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest
 
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...CodeFest
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковCodeFest
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Denis Vasilyev
 
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервереAndrew Sovtsov
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.Igor Shkulipa
 
автоматизация процедуры адаптации гидродинамической модели
автоматизация процедуры адаптации гидродинамической моделиавтоматизация процедуры адаптации гидродинамической модели
автоматизация процедуры адаптации гидродинамической моделиRudakova
 
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...Vadim Ponomarev
 
Arduino and Azure IoT
Arduino and Azure IoTArduino and Azure IoT
Arduino and Azure IoTAlexej Sommer
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbitjskonst
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1Illya Klymov
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”GlobalLogic Ukraine
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHivePavel Lipanov
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusCisco Russia
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Denis Vasilyev
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй этоRoman Dvornov
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 

Similar to Что нового в Android 5.0 (20)

CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
 
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...
CodeFest 2014. Коновалов А., Шкурко Д. — Разработка и оптимизация приложений ...
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
 
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
 
Лекция 4
Лекция 4Лекция 4
Лекция 4
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.
 
автоматизация процедуры адаптации гидродинамической модели
автоматизация процедуры адаптации гидродинамической моделиавтоматизация процедуры адаптации гидродинамической модели
автоматизация процедуры адаптации гидродинамической модели
 
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
 
Arduino and Azure IoT
Arduino and Azure IoTArduino and Azure IoT
Arduino and Azure IoT
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1Sencha Complete: Kharkiv JS #1
Sencha Complete: Kharkiv JS #1
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHive
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй это
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 

More from Kirill Danilov

Secr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.jsSecr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.jsKirill Danilov
 
Интернет Тренды 2015
Интернет Тренды 2015Интернет Тренды 2015
Интернет Тренды 2015Kirill Danilov
 
Что нового в Android M Developer Preview 1
Что нового в Android M Developer Preview 1Что нового в Android M Developer Preview 1
Что нового в Android M Developer Preview 1Kirill Danilov
 
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...Kirill Danilov
 
Разработка энерго-эффективных Tizen приложений для Gear
Разработка энерго-эффективных Tizen приложений для GearРазработка энерго-эффективных Tizen приложений для Gear
Разработка энерго-эффективных Tizen приложений для GearKirill Danilov
 
Tizen HTML5 Development
Tizen HTML5 Development Tizen HTML5 Development
Tizen HTML5 Development Kirill Danilov
 
Tizen for Wearable Development Gear2 Danilov
Tizen for Wearable Development Gear2 DanilovTizen for Wearable Development Gear2 Danilov
Tizen for Wearable Development Gear2 DanilovKirill Danilov
 

More from Kirill Danilov (7)

Secr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.jsSecr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.js
 
Интернет Тренды 2015
Интернет Тренды 2015Интернет Тренды 2015
Интернет Тренды 2015
 
Что нового в Android M Developer Preview 1
Что нового в Android M Developer Preview 1Что нового в Android M Developer Preview 1
Что нового в Android M Developer Preview 1
 
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
 
Разработка энерго-эффективных Tizen приложений для Gear
Разработка энерго-эффективных Tizen приложений для GearРазработка энерго-эффективных Tizen приложений для Gear
Разработка энерго-эффективных Tizen приложений для Gear
 
Tizen HTML5 Development
Tizen HTML5 Development Tizen HTML5 Development
Tizen HTML5 Development
 
Tizen for Wearable Development Gear2 Danilov
Tizen for Wearable Development Gear2 DanilovTizen for Wearable Development Gear2 Danilov
Tizen for Wearable Development Gear2 Danilov
 

Что нового в Android 5.0

  • 1. Десятая независимая научно-практическая конференция «Разработка ПО 2014» 23 - 25 октября, Москва Что нового в Android Кирилл Данилов Developer Evangelist Samsung Electronics 5.0
  • 2. Полный список нововведений burst-mode camera, APIs H.265, NDK media, APIs TV input framework, low latency audio recording, audio patch-panel, impruved AV sync, USB audio, Cast receiver hardware assisted hot-word, ART, 64-bit trusted execution environment, volta, impruved battery stats, predicted time remaining, battery historian, Battery saver mode, time to charge, time on lock screen, JobScheduler, multinetwork, Bluetooth 4.1 BLE, central & peripheral modes, HFP 1.6 SAP, multi HFP, Map Email, OpenGL ES3.1 & Android Extencion Pack, personal unlocking, enterprise lock to app apis, Document-sentric multi-tasking, lockscreen notifications, head-up notifications, do not disturb, new quick settings, phone rotation lock, impruved game controller support, Closed caption, color inversion, colot space correction, impruved text rendering, Material theme, activity transitions, view shadows, new elevation, RecycleView, CardView, path animations, color extractor
  • 3. Что нового в Android ● Art - замена Dalvik ● Material Design ● Новые View ● Notifications ● Project Volta ● WebView ● Индексирование приложений
  • 4. Art - Android Runtime ● Зачем нужен Art? ● Манифест Art ● Ahead-of-time (AOT) compilation ● Параллельное выполнение ● Использование нескольких ядер ● 85% сразу готовы к архитектуре 64bit http://source.android.com/devices/tech/dalvik/art.html
  • 5.
  • 6. Material Design ● Цель: создать визуальный язык ● Принципы: разработать единую базовую систему, которая позволяет получить одинаковый опыт на разных платформах и размерах устройств http://www.google.com/design/spec/material-design/introduction.html
  • 7. Material Design: Принципы Материал - это метафора Смело, графично, намеренно Движение определяет смысл http://www.google.com/design/spec/material-design/introduction.html
  • 8. Новые View ●RecycleView ●CardView ●Path animations ●Color extractor ●Vector Drawables
  • 9. RecycleView ●Обязательное использование шаблона HolderView ●LayoutManager решает, что делать с элементом списка ●RecyclerView.ItemAnimator отвечает за анимацию ●Доступен в support library https://github.com/googlesamples/android-RecyclerView
  • 10. RecycleView public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> { public static class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(View v) { super(v); } } public CustomAdapter(String[] dataSet) { mDataSet = dataSet; } public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) { View v = LayoutInflater.from... ViewHolder vh = new ViewHolder(v); return vh; } public void onBindViewHolder(ViewHolder viewHolder, int position) { viewHolder.getmTextView().setText(mDataSet[position]); } } https://github.com/googlesamples/android-RecyclerView
  • 11. CardView <android.support.v7.widget.CardView android:layout_width="fill_parent" android:layout_height="wrap_content" android:elevation="100dp" card_view:cardBackgroundColor="@color/red" card_view:cardCornerRadius="8dp" android:layout_marginLeft="@dimen/margin_large" android:layout_marginRight="@dimen/margin_large"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/margin_medium" android:text="@string/cardview_contents"/> </android.support.v7.widget.CardView> https://github.com/googlesamples/android-CardView
  • 12. Notifications ●Вывод на LockScreen: public, private, secret ●High-priority notifications ●Синхронизация между устройствами ●Expanded layouts http://developer.android.com/about/versions/android-5.0.html#Notifications https://developer.android.com/design/patterns/notifications.html
  • 13. Project Volta ● Scheduling jobs - позволит выполнять задачи пачкой, во время зарядки или появления сети ● Battery Historian и batterystats - выдают аналитические и статистические данные по энергопотреблению вашего приложения
  • 14. Jobschedule api JobInfo.Builder builder = new JobInfo.Builder(kJobId++, mServiceComponent); builder.setMinimumLatency(Long.valueOf(delay) * 1000); builder.setOverrideDeadline(Long.valueOf(deadline) * 1000); builder.setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED); builder.setRequiresDeviceIdle(mRequiresIdleCheckbox.isChecked()); builder.setRequiresCharging(mRequiresChargingCheckBox.isChecked()); mTestService.scheduleJob(builder.build()); https://github.com/googlesamples/android-JobScheduler
  • 15. Battery historian $ adb shell dumpsys batterystats --enable full-wake-history $ adb shell dumpsys batterystats --reset Произвести действия с приложением на телефоне $ adb bugreport > bugreport.txt $ ./historian.py bugreport.txt > result.html https://github.com/google/battery-historian/blob/master/historian.py
  • 17. WebView ● Основан на Chromium M37 ● Улучшена безопасность и стабильность ● версия user-agent: 37.0.0.0 ● WebAudio, WebGL, WebRTC ● Запрос разрешения на getUserMedia() ● navigator.vibrate https://developer.chrome.com/multidevice/webview/overview
  • 18. Как включить индексирование ● Добавить поддержку Deeplinking: HTTP scheme (url-based) <activity <intent-filter <action .. VIEW <category ...DEFAULT <categoty ...BROWSABLE <data scheme=http host=example.com pathPrefix=/gizmos ● Пройти верификацию сайта в консоли GooglePlay в “Службы и API”, далее публикация deeplinks и sitemap.xml <html <head <link rel="alternate" href="android-app://com.example/http/example.com/gizmos" /> ...<url><loc>http://example.com/giznos</loc> <xhtml:link rel="alternate" href="android-app://com.example/http/example.com/gizmos" /> Отслеживание в WebMasterTools раздел Android App ● Индексирование, проверка ошибок и статус https://developers.google.com/app-indexing/webmasters/
  • 19. И еще кое что ● Screen pinning ● Multiple network connections ● OpenGL ES 3.1 ● Extension Pack ● android.media.projection API ● android.bluetooth.le API ● Android TV