-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android api level < 26 support #252
Comments
Some additional context on the CompletableFuture choice microsoftgraph/msgraph-sdk-java#533 |
On
AGP 4.0.0+ offers Java 8+ API desugaring support, but unfortunately |
Hey everyone. |
The goal of this issue is to investigate ways to support Android API level < 26 (current requirement for core 2.X and sdk 3/4).
SDK users: please like (and subscribe to get notified of progress) this issue. This will allow us to gage the interest of the community for this work. Don't hesitate to engage in the conversation either.
The current SDK requires API level >= 26 mostly because of the downstream requirements from azure-core/azure-identity. The azure team made a choice of shipping libraries for Java developers first, which might work for Android developers. We (the graph sdk team) have aligned on that decision because we're dependent on them, lack of resources to develop 2 SDKs for the same eco-system, and because of usage data.
Besides the authentication aspects, we've later on made the choice to provide the best Java development experience at the expense of Android backwards compatibility: those productivity features include CompletableFutures, some streaming and string encoding capabilities and more. The easiest way to get an exhaustive list of such platform features is to downgrade the api level of the android linting project and look at the list of errors.
The eco-system usually targets API level 19 or 21, respectively supporting 98.1% and 94.1% of android phones our there at the time of writing (android studio, file, new project, help me choose the api level). And the library authors go one of multiple ways:
On top of all this considerations, the chosen approach should consider the following aspects:
AB#10300
The text was updated successfully, but these errors were encountered: