Showing posts with label Project Treble. Show all posts
Showing posts with label Project Treble. Show all posts

6/9/17

Android O APIs are final, get your apps ready!

Posted by Dave Burke, VP of Engineering


Three weeks ago at Google I/O, we href="https://android-developers.googleblog.com/2017/05/whats-new-in-android-o-developer.html">announced
the second developer preview of Android O along with key themes, Fluid
Experiences
and Vitals, and highlighted our work
towards a modular base with href="https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html">Project
Treble. It was also an important milestone for us with the release
of the first beta-quality candidate. We talked a lot about what's new in Android
during the keynote and breakout sessions—if you missed the livestream, be sure
to check out the full archive of talks href="https://www.youtube.com/user/androiddevelopers/playlists?sort=dd&view=50&shelf_id=14">here.



Today we're rolling out Developer Preview 3 with the final Android O APIs, the
latest system images, and an update to Android Studio to help you get ready for
the consumer release later in the summer. Watch for one more preview update
coming in July that will bring you the near-final system images.



If you've already enrolled your device in the href="http://android.com/beta">Android Beta Program, you'll receive an
update to Developer Preview 3 shortly.


Make your app compatible with Android O



With the consumer launch approaching href="https://developer.android.com/preview/migration.html">in the coming
months, a critical first step is making your current app compatible with
Android O. This will give your users a seamless transition to the new platform
as it arrives on their devices.



If you haven't tested your app for compatibility yet, getting started is
straightforward -- just enroll a supported device in Android Beta and get the
latest update over-the-air, then install your current app from Google Play and
test. The app should run and look great, and it should handle the Android O href="https://developer.android.com/preview/behavior-changes.html">behavior
changes properly -- in particular pay attention to href="https://developer.android.com/preview/behavior-changes.html#abll">background
limits and changes in href="https://developer.android.com/preview/behavior-changes.html#networking-all">networking,
href="https://developer.android.com/preview/behavior-changes.html#security-all">security,
and href="https://developer.android.com/preview/behavior-changes.html#privacy-all">identifiers.



After you've made any necessary updates, we recommend publishing the compatible
version of your app to Google Play right away -- without changing the app's
platform targeting.


Enhance your app with Android O features and APIs



Extending your apps with Android O features can help you drive more engagement,
offer new interactions, give users more control and security, and even improve
your app's performance.



href="https://developer.android.com/preview/features/notification-channels.html">Notification
channels and href="https://developer.android.com/preview/features/notification-badges.html">dots
give you more ways to surface new content to users and bring them back into your
app. Picture-in-picture keeps your app onscreen while users are multitasking,
and href="https://developer.android.com/preview/features/autofill.html#optimizing_your_app_for_autofill">autofill
makes it simple for them to enter forms data and helps keep their data secure.
Also check out href="https://developer.android.com/preview/features/adaptive-icons.html">adaptive
icons, href="https://developer.android.com/preview/features/fonts-in-xml.html">XML font
resources, href="https://developer.android.com/preview/features/downloadable-fonts.html">downloadable
fonts and href="https://developer.android.com/preview/features/emoji-compat.html">emoji,
href="https://developer.android.com/preview/features/autosizing-textview.html">autosizing
TextView,href="https://developer.android.com/ndk/guides/audio/aaudio/aaudio.html"> AAudio
API, and href="https://developer.android.com/preview/api-overview.html">many others.
You'll also want plan your support for href="https://developer.android.com/preview/features/background.html">background
execution limits and other important href="https://developer.android.com/preview/behavior-changes.html#o-apps">changes
in vital system behavior for O apps.



Visit the O Developer
Preview site
to learn about all of the new features and APIs and how to
build them into your apps.











Picture-in-Picture mode lets you keep users engaged while they are multitasking (left). Notification dots keep users active in your app and let them jump directly the app’s core functions (right).

Get started with Developer Preview 3



Today's preview update includes the latest version of the Android O platform
with the final API level 26 and hundreds of bugfixes and optimizations. You can
download the final API 26 SDK from the SDK Manager in href="https://developer.android.com/studio/index.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">Android
Studio, and href="https://developer.android.com/topic/libraries/support-library/revisions.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">Android
Support Library 26.0.0 beta 2 from href="https://developer.android.com/studio/build/dependencies.html#google-maven">Google's
Maven repository.



Together, these give you everything you need to develop and test your apps with
the official Android O APIs. Once you've installed the final SDK, you can update
your project's compileSdkVersion to API 26 to compile against the
official Android O APIs. We also recommend updating your app's
targetSdkVersion to API 26 to opt-in and test your app with Android
O specific href="https://developer.android.com/preview/behavior-changes.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">behavior
changes. See the href="https://developer.android.com/preview/migration.html#bfa">migration
guide for details on how to set up your environment to build with Android O.



APIs have changed since the second developer preview, so if you have existing
code using Android O preview APIs, take a look at the href="https://developer.android.com/sdk/api_diff/26-incr/changes.html">diff
report to see where your code might be affected.



If you're developing for Android O, we recommend updating to the latest version
of href="https://android-developers.googleblog.com/2017/05/android-studio-3-0-canary1.html">Android
Studio 3.0, now available in the canary channel. Aside from great new
features like improved app performance profiling tools, support for the href="http://android-developers.googleblog.com/2017/05/android-announces-support-for-kotlin.html">Kotlin
programming language, and Gradle build optimizations, Android Studio 3.0
includes build support for href="https://android-developers.googleblog.com/2017/05/android-instant-apps-is-open-to-all.html">Instant
Apps, an href="https://developer.android.com/preview/features/adaptive-icons.html">Adaptive
Icon Wizard, and support for href="https://developer.android.com/preview/features/working-with-fonts.html">XML
Fonts, href="https://developer.android.com/preview/features/working-with-fonts.html">anhref="https://developer.android.com/preview/features/working-with-fonts.html">d
href="https://developer.android.com/preview/features/downloadable-fonts.html">Downloadable
Fonts.






Android Studio 3.0 includes tools for developing with Android O features lets you preview XML font resources in your app.


If you don't plan to use those features, you now have the option of developing
for Android O using href="https://developer.android.com/studio/index.html">Android Studio 2.3.3
from the stable channel. Note that the tools for working with adaptive icons and
downloadable fonts, and XML fonts are not available in Android Studio 2.3.3.


Publish your apps to alpha, beta or production channels in Google
Play



Now that the APIs are final, you can publish APK updates compiling with, and
optionally targeting, API 26 to your alpha, beta, or even production channels in
Google Play. Publishing your O-targeted app during the preview lets you test
compatibility on existing devices and push updates to devices running API 26 --
such as users who are enrolled in the Android Beta program.



To make sure that your updated app runs well on Android O as well as older
versions, a common strategy is to use href="https://developer.android.com/distribute/engage/beta.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">Google
Play's beta testing feature to get early feedback from a small group of
users -- including developer preview users — and then do a staged rollout as you
release the updated app to all users.


How to get the preview update



Through the Android Beta program,
developers and early adopters worldwide will soon be getting Developer Preview 3
on their devices. If you aren't yet enrolled, just visit href="https://android.com/beta">android.com/beta and opt-in your eligible
Android phone or tablet. As always, you can also download and href="https://developer.android.com/preview/download.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog#flash">flash
this update manually. The O Developer Preview is available for Pixel, Pixel
XL, Pixel C, Nexus 5X, Nexus 6P, and Nexus Player.



Thanks so much for all of your feedback so far. Please continue to share href="https://developer.android.com/preview/feedback.html">feedback or
requests as we work towards the consumer release later this summer. We're
looking forward to seeing your apps on Android O!



Read more

5/18/17

Google I/O 2017: Empowering developers to build the best experiences across platforms


By Jason Titus, Vice President, Developer Product Group


It's great to be in our backyard again for Google I/O to connect with developers
around the world. The 7,200 attendees at Shoreline Amphitheatre, millions of
viewers on the livestream, and
thousand of developers at local I/O Extended events across 80+
countries heard about our efforts to make the lives of developers easier --
allowing them to focus on the problems they're trying to solve by minimizing the
pain points of building a product.


Earlier this morning, our CEO Sundar Pichai talked
about our various billion-user platforms. Whether it's Android or Chrome or the
mobile Web, our success would not have been possible without the developer
community. And during our Developer
Keynote
, we covered our heavy investments in tools and services for
developers who build on our platforms every day.


We have a lot to cover over the next three days. Let's take a closer look at the
major developer news at I/O so far:



Platforms that connect developers to billions of users around the
world



  • Android
    O Developer Preview 2
    — Get a look at the next release of Android O focused
    on fluid experiences that make Android even more useful, and our efforts to
    optimize battery life, startup time, graphic rendering time, and stability.
    Early adopters can opt in to the Android O Beta Program at android.com/beta and run Android O now.

  • Project
    Treble
    — Last week, we also introduced a new Android framework designed to
    help reduce the time and effort it takes device makers to upgrade a phone to a
    new version of Android, starting with Android O.

  • Android
    Go
    — We're optimizing Android to run smoothly on entry-level devices,
    starting with the O release. We're also designing Google apps to use less
    memory, storage space, and mobile data, including apps such as YouTube Go,
    Chrome, and Gboard.

  • Kotlin
    — Android is officially supporting the Kotlin programming language, in addition
    to the Java language and C++. Kotlin is a brilliantly designed, mature,
    production-ready language that we believe will make Android development faster
    and more fun.

  • Android
    Studio 3.0 Canary
    — Our new preview includes three major features to
    accelerate development flow: a new suite of app performance profiling tools to
    quickly diagnose performance issues, support for the Kotlin programming
    language, and increased Gradle build speeds for large sized app projects.

  • Mobile Web — AMP and Progressive Web
    Apps
    (PWAs) are re-defining
    modern mobile web development. AMP gets content in front of users fast and PWAs
    deliver app-focused experiences that are reliable, fast and engaging. We're
    seeing success stories
    from all around the world - travel company Wego has rolled out a
    successful AMP based PWA and Forbes has seen user
    engagement double since launching a PWA. If you're wondering how good your
    current web experience is, you can use Lighthouse - an
    automated tool for measuring web-page quality. Be sure to tune in this afternoon
    for the
    Mobile Web: State of the Union
    talk to hear more about building rich mobile
    web experiences.



Infrastructure and services to take mobile apps and the Web to the
next level



  • Firebase
    — At last year's I/O, we expanded Firebase to a full mobile development platform
    with products to help you build your app and grow your business. Over a million
    developers now use Firebase, and we're doubling down on our efforts to simplify
    more every-day developer challenges. We're giving more insights to understand
    app performance through Firebase Performance Monitoring, introducing integration
    between Hosting and Cloud Functions, adding support for Phone Number
    Authentication, and continuing to improve Analytics in a number of ways. We've
    also started open
    sourcing our SDKs
    .

  • Mobile web
    developer certifications
    — At I/O'16 we launched the Associate Android
    Developer Certification. This year, we're adding two new certifications for web
    developers: the Mobile
    Sites Certification
    and the Mobile Web
    Specialist Certification
    .



Powerful tools to acquire and engage new users; grow successful
businesses



  • Google
    Play Console
    — We announced several powerful, new features and reports in
    the Play Console to help developers improve their app's performance, manage
    releases with confidence, reach a global audience, and grow their business. The
    Play Console also has a new name, to reflect its broadened business uses, and a
    fresh look to make it easier to get things done.

  • Android
    Instant Apps
    — We opened Android Instant Apps, a new way to run Android apps
    without requiring installation, to all
    developers
    . Now anyone can build and publish an instant app. There are also
    more than 50 new experiences available for users to try out from a variety of
    brands, such as Jet, New York Times, Vimeo and Zillow.

  • Payments, Monetization & Ads — We introduced a Google Payment API that
    enables developers to give their customers the ability to pay in apps and online
    with credit or debit cards saved to their Google Account. New AdMob integration
    with Google Analytics for Firebase helps them monetize efficiently and updates
    to Universal Apps Campaigns will help them grow their user base.



New interfaces to push the limits of what's possible



  • Actions
    on Google for the Google Assistant
    — We brought Actions on Google to phones,
    introduced new features and functionality, improved our SDK and more. We also
    launched the Actions Console, a new developer console that helps developers work
    as a team, and collect data on app usage, performance and user discovery
    patterns. This new console is integrated with the Firebase and Google Cloud
    consoles.

  • VR
    and AR at Google
    — We'll have more to share on the latest Daydream platform
    features and developer tools during our "VR and AR at Google" session tomorrow
    (May 18) at 9:30 AM PT in the Amphitheatre and on the livestream.


It's important to us that developers are successful. In addition to building
products that help solve developer challenges, we're on the ground in over 130
countries, growing and expanding the developer community through programs such
as Women Techmakers & Google
Developer Groups (GDGs).
We're also investing in training programs like Google Developers
Certification
and courses through Udacity and other partners to help
developers deepen their technical capability. We're also excited to announce two
large multi-product developer events, Google Developer Days, which are planned
for Europe (September 2017 in Krakow, Poland) and India (December 2017 in
Bangalore, India). If you are interested to find out more, sign up for updates
on g.co/gdd2017.


During Google I/O, attendees and viewers have an opportunity to dive deep into
a number of these areas with 14 content tracks and 140+ breakout sessions --
covering Android to Assistant to VR -- and all livestreamed. We've also launched
over 70 codelabs to get
developers up and running with our latest APIs today.


Whether it's Android, Chrome, Play, VR/AR, the Cloud, and the Mobile Web — we're
constantly investing in the platforms that connect developers to billions of
users around the world. Thank you to the continued support and feedback from the
developer community.

Read more

5/13/17

Here comes Treble: A modular base for Android

Posted by Iliyan Malchev, Project Treble team lead


On the Android team, we view each dessert release as an opportunity to make
Android better for our users and our ecosystem partners. One thing we've
consistently heard from our device-maker partners is that updating existing
devices to a new version of Android is incredibly time consuming and costly.



With Android O, we've been working very closely with device makers and silicon
manufacturers to take steps toward solving this problem, and we're excited to
give you a sneak peek at Project Treble, the biggest change to the low-level
system architecture of Android to date.



Life of an Android Release



First, it's helpful to understand the "life of an Android release". There are
several steps a new Android release goes through before getting into the hands
of users:





  1. The Android team publishes the open-source code for the latest release to
    the world.

  2. Silicon manufacturers, the companies that make the chips that power Android
    devices, modify the new release for their specific hardware.

  3. Silicon manufacturers pass the modified new release to device makers — the
    companies that design and manufacture Android devices. Device makers modify the
    new release again as needed for their devices.

  4. Device makers work with carriers to test and certify the new release.

  5. Device makers and carriers make the new release available to users.



With Project Treble, we're re-architecting Android to make it easier, faster and
less costly for manufacturers to update devices to a new version of Android.






The Vendor Interface



Android was unveiled in 2007 as a free, open-source mobile operating system.
From the beginning, we intended Android to be scaled across a variety of
manufacturers. We knew that consistency of API was important for developers, so
we created a compatibility program for the Developer API specified by the href="https://source.android.com/compatibility/">Compatibility Definition
Document (CDD) and its associated Compatibility Test Suite (CTS), now
comprising over a million tests.



The result today is that app developers can write a single app that works across
over a billion devices running on different hardware from different
manufacturers.








Project Treble aims to do what CTS did for apps, for the Android OS framework.
The core concept is to separate the vendor implementation — the
device-specific, lower-level software written in large part by the silicon
manufacturers — from the Android OS Framework.



This is achieved by the
introduction of a new vendor interface between the Android OS framework
and the vendor implementation. The new vendor interface is validated by a Vendor
Test Suite (VTS), analogous to the CTS, to ensure forward compatibility of the
vendor implementation.





Benefits of Project Treble



Today, with no formal vendor interface, a lot of code across Android needs to be
updated when a device moves to a newer version of Android:






With a stable vendor interface providing access to the hardware-specific parts
of Android, device makers can choose to deliver a new Android release to
consumers by just updating the Android OS framework without any additional work
required from the silicon manufacturers:






Project Treble will be coming to all new devices launched with Android O and
beyond. In fact, the new Project Treble architecture is already running on the
Developer Preview
of O
for Pixel phones.



In addition to the architectural changes, we're working with our silicon and
device partners to take their code changes, such as features for a carrier
network in a specific country, and move them into the common Android Open Source
Project (AOSP) codebase. For example, Sony and Qualcomm contributed dozens of
features and hundreds of bugfixes to Android O so they no longer need to rework
these patches with each new release of Android.



We plan to publish the full documentation for Project Treble on href="https://source.android.com/">source.android.com with the launch of O
later this summer.

Read more
loading...