Showing posts with label Canary. Show all posts
Showing posts with label Canary. Show all posts

Wednesday, May 17, 2017

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.

Android Studio 3.0 Canary 1










By Jamal Eason, Product
Manager, Android





Just in time for Google I/O 2017, we're providing a sneak peak of Android Studio
3.0 - available to download today on our
canary release channel. Android Studio's our official IDE, purpose-built for
Android, and we keep increasing our investment. The feature set in Android
Studio is focused on accelerating your app development flow and providing the
latest tools built for the Android platform.




To accelerate your development flow, Android Studio 3.0 includes three major
features: 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. Android Studio 3.0 also
tightly integrates with Android platform development with these additional key
features: support for Instant App development, inclusion of the Google Play
Store in the Android O emulator system images, and new wizards for Android O
development. Overall, this first canary release of Android Studio 3.0 has 20+
new features.




We have been quietly iterating on many of these features as part of the Android Studio 2.4
Canaries. Today we are renumbering the release to Android Studio 3.0 after
recognizing that we added many significant features, and that we had to
introduce a rare breaking change in the Android Gradle Plugin to improve
scalability and build times. If you want to target Android O, create an Instant App, start developing with the Kotlin language or use the latest in Android app
performance tools to improve your app quality then you should download Android
Studio 3.0 Canary 1 today.





Android DevByte - What�s New in Android Studio 3.0 Canary 1






Check out the the list below organized into key developer flow for the details of the new features in this first canary release of Android Studio 3.0.




Develop





  • Kotlin Programming Language - By popular
    request, Android Studio 3.0 now includes support for Kotlin. With this new language support, you
    can seamlessly add Kotlin code next to your existing Android app code and have
    access to all the great development tools found in Android Studio. You can
    choose to add Kotlin to your project using the built-in conversion tool found
    under Code ? Convert Java File to Kotlin File,
    or you choose to create a Kotlin enabled project with the New Project Wizard.
    Lean more about Kotlin language support in Android and Android Studio.





Kotlin Language Conversion in Android Studio







  • Java 8 Language features - We are
    continuing to evolve the support for Java 8 language features and APIs. With the
    recent deprecation
    of the Jack toolchain
    and migration to the javac based toolchain, you have
    access to features such as Instant Run for projects using the Java 8 language
    features in Android Studio. To update your project to support the new Java 8
    Language toolchain, simply update your Source and Target
    compatibility levels to 1.8 in the Project Structure dialog. Learn
    more
    .



Update Project Structure Dialogue for Java 8 Language












  • Layout Editor - With this Android Studio
    release, you will find additional enhancements to the Layout Editor. We have
    updated the component tree with better drag-and-drop view insertions, and a new
    error panel. In coordination with an update to ConstraintLayout,
    the Layout Editor also supports creating view Barriers, creating Groups, and
    enhances Chain Creation. Learn
    more
    .



Layout Editor Component Tree & Warning Panel









  • Adaptive Icon Wizard - Android O
    introduces adaptive launcher icons, which can display in different shapes across
    different Android devices. The new Adaptive Launcher Icon wizard creates the new
    and legacy launcher icon assets and provides previews of how your adaptive icon
    will look on different launcher screen icon masks. Create a new asset by
    right-clicking on the /res folder in your project then navigate
    to ? New ? Image Asset ? Launcher
    Icons (Adaptive and Legacy)
    Learn
    more
    .



Adaptive Icon Wizard










  • XML Fonts & Downloadable Fonts - Adding
    custom fonts to your app (available when targeting Android O) is now even easier
    with the XML fonts preview and font selection tools in Android Studio. You can
    can also create a downloadable font resource for your app. Using downloadable
    fonts allows you to use a custom font in your app while avoiding the need to
    bundle in a font resource into your APK. To use downloadable fonts, ensure that
    you device or emulator is running Google Play Services v11.2.63 or higher. Learn
    more
    .



Downloadable Fonts Resource Picker





XML Fonts Preview
















  • Android Things Support - With Android
    Studio 3.0, you can start developing on Android Things with a new set of
    templates in the New Project wizard and the New Module wizard. Android Things
    allows you to extend your Android development knowledge into the Internet of
    Things (IoT) device category. Learn more.








Android Things New Module Wizard 














  • IntelliJ Platform Update: Android Studio 3.0 Canary 1
    includes the IntelliJ 2017.1 release, which has features such as Java 8 language
    refactoring, parameter hints, semantic highlighting, draggable breakpoints,
    enhanced version control search, and more. Learn
    more
    .






Build





  • Instant App Support - With Android Studio
    3.0, you can create Instant
    Apps
    in your project. Instant Apps are lightweight Android apps that your
    users can immediately run without installation. To support this, Android Studio
    introduces two new module types: instant app and feature. Combined with a new
    "Modularize" refactoring action and the App
    Links Assistant
    , Android Studio can help you extend your app into an Instant
    App. To use you can use the New Module Wizard or right-click on a class and
    navigate to: Refactor ? Modularize Learn more.








Instant App Module Wizard










  • Build Speed Improvements - We are
    continuing to invest in making build speeds faster. For this release, we focused
    on improving speed for projects that have many modules. To achieve these speed
    improvements and to support future enhancements, we have made breaking API
    changes
    to the Android Gradle plugin used by Android Studio. If you
    depended on APIs provided by the previous plugin you should validate
    compatibility with the new plugin and migrate applicable APIs. To test, update
    the plugin version in your
    build.gradle
    file. Learn more.











build.gradle





dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
}



  • Google's Maven Repository - Also, by
    popular request, we are now distributing the Android Support Library maven
    dependencies outside of the Android SDK Manager in a brand new Maven repository.
    For those developing with a Continuous Integration (CI) system, this should make
    Maven dependency management easier. Used in combination with the latest command
    line SDK
    Manager tool
    and Gradle,
    CI builds should be easier to manage with Google's Maven Repository. To use the
    the new Maven location, add the following url to your app module's
    build.gradle file. Learn more.




build.gradle


repositories {
maven {
url "https://maven.google.com"
}
}













    Test & Debug



    • Google Play System Images - Along with the
      update to the Android O Beta release, we updated the Android Emulator O system
      images to include the Google Play Store. Bundling in the Google Play store
      allows you to do end-to-end testing of apps with Google Play, and provides a
      convenient way to keep Google Play services up-to-date in your Android Virtual
      Device (AVD). Just as Google Play services updates on physical devices, you can
      trigger the same updates on your AVDs.





    Google Play Store in Android Emulator











    Update Google Play Services in Android Emulator














    To ensure app security and a consistent experience with physical devices, the
    emulator system images with the Google Play store included are signed with a
    release key. This means you will not be able to get elevated privileges. If you
    require elevated privileges (root) to aid with your app troubleshooting, you can
    use the Android Open Source Project (AOSP) emulator system images that do not
    include Google apps or services. To get started, make sure you are using Android
    Emulator v26.1+, the latest system images API 24+ and then create a new AVD with
    a Google Play icon next to the device definition. Learn more.









    Android Virtual Device Manager with Google Play Store Support 















    • OpenGL ES 3.0 Support in Android Emulator - As a part of our ongoing investment in making your development experience fast, the latest version of the Android Emulator has OpenGL ES 3.0 support for Android O system images along with significant improvements in OpenGL ES 2.0 graphics performance for older emulator system images. Most modern graphics cards on all operating systems support OpenGL ES 2.0 acceleration. To use OpenGL ES 3.0 with the Android Emulator, your development machine needs a host GPU graphics card that supports OpenGL 3.2 or higher on Microsoft� Windows� or Linux (with Apple MacOS� support coming in the future). Learn more.










    OpenGL ES 3.0 in Android Emulator











    • App Bug Reporter in Android Emulator - To
      help in documenting bugs in your app, we have added an easier way to generate a
      bug report with all the necessary configuration settings and space to capture
      your repro steps. Additionally, if you want to share a specific emulator bug
      with the Android team, we have also added a link to quickly generate a bug on
      the Android Issue Tracker. To use this feature, navigate to the Emulator
      Tool Bar
      ? Extended Controls ? Help ?
      Emulator Help ? File a Bug. Learn
      more
      .









    App Bug Reporting in Android Emulator










    • Proxy Support in Android - For those who
      need to use a HTTP proxy to access the Internet, we have added a user interface
      to manage the proxy settings used by the emulator. By default, the Android
      Emulator will now use the settings from Android Studio, but you can override
      these settings for your network setup. To configure navigation to the
      Extended Controls ? Settings ?
      Proxy.






    Android Emulator Proxy Settings








    • Android Wear Rotary Controls in Android Emulator -
      The Android Emulator now supports rotary controls for the Android Wear
      2.0 emulator system image. It is now easier to test your apps that target
      Android Wear devices that include rotary input scrolling. To enable, create an
      Emulator AVD that targets Android Wear, and the Rotary Input panel should appear
      under Extended controls. Learn
      more
      .








    Rotary input in Android Emulator









    • APK Debugging - For those of you who just
      want to debug an APK without building your project in Android Studio, the
      Android Studio 3.0 release now has the ability to debug an arbitrary APK. This
      functionally is especially helpful for those who develop your Android C++ code
      in another development environment, but want to debug and analyze the APK in the
      context of Android Studio. As long as you have a debuggable version of your APK,
      you can use the new APK Debugging features to analyze, profile & debug the APK.
      Moreover, if you have access to the sources of your APK, you can link the source
      to the APK debugging flow for a higher fidelity debugging process. Get started
      by simply selecting Profile or debug APK from the Android
      Studio Welcome Screen or File ? Profile or debug APKLearn More.








    Profile or Debug an APK









    APK Debugging









    • Layout Inspector - You will find that the
      Layout Inspector has a few additional enhancements in Android Studio 3.0 that
      make it easier to debug issues in your app layouts. A couple of the enhancements
      include better grouping of properties into common categories, as well as search
      functionality in both the View Tree and Properties Panels. While an application
      is running, access the Layout Inspector via Tools ?
      Android ? Layout Inspector. Learn more.





    Layout Inspector









    • Device File Explorer - Ported from DDMS
      into Android Studio by popular demand, the new Device File Explorer allows you
      to view the file and directory structure of your Android device or emulator. As
      you are testing your app, you can now quickly preview and modify app data files
      directly in Android Studio.








    Device File Explorer











    Optimize




    • Android Profiler - Android Studio 3.0 includes a brand new suite of tools to help debug performance problems in your app. We completely rewrote the previous set of Android Monitor tools, and replaced them with the Android Profiler. Once you deploy your app to a running device or emulator, click on the Android Profiler tab and you will now have access to a real-time & unified view of the CPU, Memory, & Network activity for your app. Each of the performance events are mapped to the UI event timeline which highlights touch events, key presses, and activity changes so that you have more context on when and why a certain event happened.  Click on each timeline to dig into each performance aspect of your app. Learn more








    Android Profiler - Combined timeline view.






    • CPU Profiler - Unnecessary CPU processing
      and load spikes are symptoms of poor app performance. With the CPU Profiler,
      you can analyze the CPU thread usage of your app by triggering a sample or
      instrumented CPU trace. At this point, you can troubleshoot CPU performance
      issues using a variety of data views and filters built into the CPU Profiler. Learn more.







    CPU Profiler






    • Memory Profiler - Using memory
      inefficiently can lead to many device problems ranging from a janky UI to low
      memory events. The Memory Profiler combines the functionality of the previous
      Heap Viewer and Allocation Tracker in one rich interface to help debug memory
      usage problems in your app. You can diagnose a range of memory issues by
      analyzing memory allocations, heap dumps and more. Learn more.











    Memory Profiler












    • Network Profiler - Optimizing foreground
      and background network usage in your app can lead to a more performant app and
      lower app data usage. The network profiler allows you to monitor the network
      activity of your app, inspect the payload of each of your network requests, and
      link back to the line of source code that generated the network request.
      Currently, the network profiler works with HttpURLConnection,
      OkHttp, and Volley
      network libraries. The network profiler is an advanced analysis feature that can
      be enabled on Pre-Android O devices & emulators by selecting Enable Advanced
      Profiling
      in the Profiling Tab in the Run Configuration box. In addition to
      enabling network request and payload analysis, this checkbox enables event
      collection at the top level, memory object count, and memory garbage collection.
      For Android O-based devices and emulator, just deploy your app. Learn more.






    Network Profiler

















    Network Profiler Setup for Pre- Android O Devices









    • APK Analyzer Improvements - In Android
      Studio 3.0, we have added some additional enhancements to the APK Analyzer to
      help you further optimize the size of your APK. With this feature update, you
      can now analyze Instant App zip files & AARs, and view dex bytecode of classes &
      methods. You can also generate Proguard configuration rules and load Proguard
      mapping files in the dex viewer. Learn
      more
      .









    APK Analyzer



    Check out the release notes for more details.




    Getting Started  



    Download


    If you are using a previous version of Android Studio, you can install Android
    Studio 3.0 Canary 1 alongside
    your stable version
    . You can download this update from the official Android
    Studio Preview download
    page
    . As mention in this blog, there are some breaking Gradle Plugin API
    changes to support new features in the IDE. Therefore, you should also update
    your Android Gradle plugin version to 3.0.0-alpha1 in your current project to
    test and validate your app project setup.






    We appreciate any feedback on things you like, issues or features you would like
    to see. If you find a bug or issue, feel free to file an
    issue
    . Connect with us -- the Android Studio development team - on our Google+ page or on Twitter.