Skip to content

Android 17 Behavioral Changes

Android 17 (API Level 37) Behavioral Updates

Apps targeting API level 37 or higher are subject to system behavior changes introduced in Android 17.

Impacted Framework Areas

  • Large-screen orientation behavior.
  • Google Play permission scope guidance.

Large-Screen Orientation Behavior

Starting with Android 17, orientation locks may not be honored on large-screen devices, such as tablets and foldables, particularly on devices with a smallest width of 600 dp or greater (sw600dp). The system may ignore orientation requests specified through requestedOrientation, the manifest's screenOrientation attribute, or equivalent APIs.

Impact

  • Orientation locks are not guaranteed: Applications must not assume that portrait or landscape orientation requests will always be honored on large-screen devices.

  • Forms must support both orientations: Forms should adapt to portrait and landscape layouts rather than relying on a forced orientation.

  • Layout calculations must be flexible: Avoid relying exclusively on fixed dimensions. Prefer percentage-based forms and responsive drawable sizing to accommodate different screen sizes and orientations.

Recommendations

  • Design forms to support both portrait and landscape orientations on large-screen devices.

  • Use percentage-based layout calculations where appropriate to make UI elements adapt to the available screen space.

  • Test application forms in both portrait and landscape orientations on tablets, foldables, and other large-screen devices.

For more information, refer to the following resources:

Google Play permission scope guidance

Google Play has introduced stricter minimum-scope requirements for Contacts and Location permissions, particularly for apps targeting Android 17 (API 37) and higher.

Contact Access and Permissions

The framework provides contact functionality through an Android Contact Picker, allowing applications to access user-selected contact information without requesting broad READ_CONTACTS permission.

If an application requires access to the full contact list, developers should use the appropriate legacy contact APIs, declare the required permissions, and comply with Google Play's contact permission policy, including submitting the required declaration and justification where applicable.

For more information, refer to the following resources:

Location Access and Permissions

By default, the framework uses the Android ACCESS_COARSE_LOCATION permission for approximate location access, following Android's recommendation to request only the level of location accuracy required by the application.

If an application requires precise location, developers must declare ACCESS_FINE_LOCATION in the application manifest and provide the necessary permission rationale. Google Play Console declarations or justifications must also be submitted when required by the applicable policy.

When ACCESS_FINE_LOCATION is declared in the application manifest, the framework includes it in the permissions requested from the user, subject to the application's location permission flow and the applicable Android version requirements.

For more information, refer to the following resource:

Policy Compliance

These changes and recommendations encourage applications to request only the permissions necessary for their intended functionality and to minimize access to sensitive user data.

Developers should review their application's permission declarations, runtime permission requests, and Google Play Console policy requirements to ensure compliance with the applicable policies. The stated enforcement date for these policy requirements is January 27, 2027.