Skip to content

Rust support for Android versions #9

Open
@tweksteen

Description

@tweksteen

Opening an issue here, as this is somewhat related to issue #2.

There is currently no agreement on which Android API version should be supported by Rust. Rust used to support version 9 of the Android API. This version is still referenced in the documentation.

An update of the NDK used in CI was done in October 2017, to the latest version then (r15c). As API 14 was the minimum supported version for that NDK, 14 effectively became the new minimum for the API version. Here is the rational captured in that pull request:

  1. Updated NDK to r15c.
    Because why not

  2. -

  3. Raised minimum API level of 32-bit targets from 9 (2.3) to 14 (4.0)
    NDK r15c dropped support for android-9. (The minimum API level for 64-bit targets remains at 21 (5.0))

In October 2020, a PR was put forward to upgrade the API level to 21. This request was not merged and an alternative was implemented (using low-level syscall in this case). One argument raised during the review was that about 5% of devices still only support API versions lower than 21.

NDK r15c is now unsupported. The current versions of the NDK (r21 LTS and r22) support at the lowest API level 16. It's worth noticing that there is already a conscious decision by the Android NDK release team to support a wide range of devices (this is why level 16 is still supported).

Hence, a suggestion would be that Rust supports the lowest API available in the currently supported NDK. This would ensure that a supported version of the NDK is being used (for Rust CI and app developers) while maintaining the maximum compatibility for older devices.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions