Zebra Technologies Corporation · NASDAQ:ZBRA
Zebra Technologies — Technical Presentation (2023)
24 slides from Zebra Technologies's technical presentation, 2023
Slide 1: Getting your application ready for Android 13 and a Preview of Android 14
Getting your application ready for Android 13 and a Preview of Android 14 Pietro F. Maggi Android Enterprise TSC - Google Nicola De Zolt L. Software Engineer- Zebra 1
Slide 2: Today's agenda
Today's agenda • Android 13 – Android 14 – Performance, Privacy, Security – App Hibernation – Runtime Permissions Autogranting – XML Profiles • Foreground Services – FGS restrictions – Direct Boot • Scoped storage • Package Visibility ZEBRA TECHNOLOGIES
Slide 3: Android 13 / Android 14
Android™ 13 / Android™ 14 ZEBRA TECHNOLOGIES
Slide 4: Android 13 - Behavior changes
Android 13 - Behavior changes All Apps – d.android.com/about/versions/13/behavior-changes-all Performance and battery • Task Manager • Battery Resource Utilization & Restricted App Stand-by Bucket Privacy • Runtime permission for notifications Security • Migrate away from shared user ID ZEBRA TECHNO
Slide 5: Zebra updates for Android 13 (and 11+)
Zebra updates for Android 13 (and 11+) Hibernation effects mitigation • App hibernation (Android 11+) - https://developer.android.com/topic/performance/app-hibernation – Runtime Permissions reset mitigation is offered with the October 2023 LifeGuard Update ZEBRA TECHNOLOGIES
Slide 6: Zebra updates for Android 13
Zebra updates for Android 13 StageNow’s Runtime Permissions Autogranting • In the beginning permissions were just manifest-declared • Android 6 introduced runtime permissions – Users grant dangerous permissions to an app when it’s running – Zebra mitigated the impact by introducing the silent app in
Slide 7: Zebra updates for Android 13
Zebra updates for Android 13 Continued Support for XML EMDK profiles • The original plan was to deprecate XML support in Android 11 and Obsolete XML support in Android 13 – Developers and EMM vendors confirmed their desire to continue integrating with Mx – Android™ 13 timelines too tight to commit f
Slide 8: Android 14 - Behavior changes
Android 14 - Behavior changes All Apps – d.android.com/about/version/14/behavior-changes-all Core functionality • Schedule exact alarms are denied by default Calendar and alarm clock apps should declare USE_EXACT_ALARM • MTU is set to 517 for the first GATT client requesting an MTU • New reason an a
Slide 9: Android 14 - Behavior changes
Android 14 - Behavior changes Apps targeting Android 14 or higher Core functionality • Foreground service types are required • Enforcement of BLUETOOTH_CONNECT permission in BluetoothAdapter • JobScheduler reinforces callback and network behavior Security • Restrictions to implicit and pending inten
Slide 10: Foreground Service Restrictions
Foreground Service Restrictions ZEBRA TECHNOLOGIES
Slide 11: Why are Foreground Services Restrictions necessary?
Why are Foreground Services Restrictions necessary? • camera To protect • connectedDevice • The user's privacy • dataSync • The device battery life • health • location How • mediaPlayback • Declaring foreground service • mediaProjection types (multiple types can be • microphone combined) • phoneCall
Slide 12: Why are Foreground Services Restrictions necessary?
Why are Foreground Services Restrictions necessary? Steps • Declare the service type <manifest ...> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" /> <application ...> <service android:name
Slide 13: Zebra updates for FGS & Direct boot
Zebra updates for FGS & Direct boot Stagenow features FGS Task Manager - How’s Zebra supporting developers • Preventing users to pull down the status bar • Zebra MX API “UI Manager / Status Bar Disable” (Stagenow, EMDK) FGS start-up • Only foreground activities can start a FGS • Exemption list - Res
Slide 14: Zebra updates for FGS & Direct boot
Zebra updates for FGS & Direct boot Direct Boot - Impact on Developers Android 11, FDE, • Additional security improvements in Android 13 Secure Startup prompt – Google removed support for Full Disk Encryption (FDE) – OEMs must now implement a File-based Encryption (FBE) filesystem • Impact on develo
Slide 15: Scoped Storage
Scoped Storage ZEBRA TECHNOLOGIES
Slide 16: Why is Scoped Storage necessary?
Why is Scoped Storage necessary? To protect • The user's privacy How • Scoped storage changes the way apps store and access files on a device's external storage Best practices guide • Android storage use cases and best practices - d.android.com/training/data-storage/use-cases Request all-files acces
Slide 17: Zebra updates on Storage
Zebra updates on Storage Availability of public folders • Google security tightening to data sharing use-cases – Started with Android 10 and the Scoped storage enforcement – Android 13 even increasing focus on users’ privacy • Security weaknesses like – Trusted files renaming – Files substituting –
Slide 18: Zebra updates on Storage
Zebra updates on Storage File Browser app Zebra has now released a new fully- featured File-browsing app to access the Zebra folders • Navigate to Settings / Storage • Tap Documents & other • Choose “Open with Files” • The Zebra folders icon is found on the bottom-left side of the screen and gives a
Slide 19: Package Visibility
Package Visibility ZEBRA TECHNOLOGIES
Slide 20: Package Visibility
Package Visibility For app targets Android 11 (API level 30) or higher Google Play considers the list of installed apps to be personal and sensitive user data Types of apps that are visible automatically • Your own app. • Certain system packages, such as the media provider, that implement core Andro
Slide 21: Package Visibility
Package Visibility For app targets Android 11 (API level 30) or higher For example: Accessing package information about the current Mainline modules private fun mainlineVersion(context: Context): String? { val moduleProvider = "com.google.android.modulemetadata" return try { val pm = context.package
Slide 22: Package Visibility
Package Visibility For app targets Android 11 (API level 30) or higher Test package visibility issues adb shell pm log-visibility --enable PACKAGE_NAME Whenever packages are filtered out of a PackageManager object's return values, you see a message similar to the following in Logcat: I/AppsFilter: i
Slide 23: Questions
Questions ZEBRA TECHNOLOGIES
Slide 24: Thank You
Thank You ZEBRA and the stylized Zebra head are trademarks of Zebra Technologies Corp., registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners. ©2023 Zebra Technologies Corp. and/or its affiliates. All rights reserved. ZEBRA TECHNOLOGIES