-
Notifications
You must be signed in to change notification settings - Fork 24.4k
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 Target API Level 26 required in August 2018 #2 #18095
Comments
really looking forward for answer/infos as I already started to shift my mobile app into react-native. |
I see there is a PR https://github.com/facebook/react-native/pull/17741 to update Android targetSdk but seems no one to review it. |
Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
Instead of assuming the compileSdkVersion, targetSdkVersion, etc, read it from the root project. Default compileSdkVersion and targetSdkVersion to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095
If you're moving past SDK 23; You will need to add permission requests ala https://facebook.github.io/react-native/docs/permissionsandroid.html since the permission architecture changed. besides that, seems to be working |
This is only necessary for debug/development builds, please don't do this for release builds. Use manifest placeholders to set this appropriately for each build type. |
@joshfriend thanks for the tip about automating that with placeholders. updated my comment above to drive people in the right direction. |
Does anyone know how NPM modules that have native Android code configured to build with target SDK versions lower than 26 will fare? I have several modules in my project ranging from 22 to 27. How does this affect the main project? |
Expect the libraries to cause problems if they use code that is restricted in newer API levels. The target level basically says 'tested on this API level'. So if the code targets 22 don't expect it to work flawlessly on higher API levels and test before starting extensive usage. Also, if you have a library that targets 27 then your own target SDK should ideally also be 27. If you're using version 3+ of the Gradle plugin it should warn you about that. Since a lower priority attribute value is higher than the value in your project. See manifest merging heuristics in the Android docs. That said, I have apps (non-RN) that target API 27 and are using libraries that target API 25. So it can definitely work fine. |
Summary: Starting August 2018, Google Play will require targetSdkVersion 26 for new applications, and November 2018 for application updates. This PR will use Android build tools 26.0.3 and compilerSdk 26, then support library version 26.0.2 to make targeting 26 easier in the future. I think this PR will help to people compile and test their applications, thus make transition easier (smoother). Also we'll have opportunity and time to migrate code to target 26. facebook#18095 React Native on android must work as usual Closes facebook#19257 Differential Revision: D8010354 Pulled By: mdvacca fbshipit-source-id: 63ba03585e918b38c2a2adb5d2f2e85d7ce46fae
According to the changelog for the coming RN version 0.56, compiling using Android SDK 26 will be included.
https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#056 |
Marking as fixed, but please let us know if there's anything else needed in |
* Using SDK Version variables from root project Instead of assuming the `compileSdkVersion`, `targetSdkVersion`, etc, read it from the root project. Default `compileSdkVersion` and `targetSdkVersion` to the latest versions. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#17741 facebook/react-native#18095 * Renaming variables for consistency * Rename variables and use *Version for all settings
Instead of assuming the `compileSdkVersion `, `targetSdkVersion`, etc, we can make it dynamic by reading it from the root project. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html Therefore I wrote target values of 26 instead of 23 And the React Native team is already working on this: facebook/react-native#18095 facebook/react-native#17741
just added a function which does acts like a ternary with fallback option. Hence, less cluttered "def" variables additionally, changes the SDK values from 23 to 26 as per new changes from react-native and Android Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#18095 facebook/react-native#17741
Instead of assuming the `compileSdkVersion `, `targetSdkVersion`, etc, we can make it dynamic by reading it from the root project. Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html Therefore I wrote target values of 26 instead of 23 And the React Native team is already working on this: facebook/react-native#18095 facebook/react-native#17741
just added a function which acts like a ternary with fallback option. Hence, less cluttered "def" variables additionally, changed the SDK values from 23 to 26 as per new changes from react-native and Android Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html And the React Native team is already working on this: facebook/react-native#18095 facebook/react-native#17741 PS: I am aware of this PR joltup#128 but first its still targeting old SDK values i.e 23 as fallback and secondly I am not sure of the use of `project` to get the value instead of proper way i.e `rootProject.ext` to get the property value.
just a little improved version rather then many explicit def for each value. hence, less cluttering. also made the react-native package to get the dynamic versions as well Android Target API Level 26 will be required in August 2018. https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html I was going to write 26 but Since we are already using latest Gradle, Therefore I wrote target values of 27 instead of 25. And the React Native team is already working on this: facebook/react-native#18095 facebook/react-native#17741
Summary: Starting August 2018, Google Play will require targetSdkVersion 26 for new applications, and November 2018 for application updates. This PR will use Android build tools 26.0.3 and compilerSdk 26, then support library version 26.0.2 to make targeting 26 easier in the future. I think this PR will help to people compile and test their applications, thus make transition easier (smoother). Also we'll have opportunity and time to migrate code to target 26. facebook/react-native#18095 React Native on android must work as usual Closes facebook/react-native#19257 Differential Revision: D8010354 Pulled By: mdvacca fbshipit-source-id: 63ba03585e918b38c2a2adb5d2f2e85d7ce46fae
That worked perfectly to me: android/app/build.gradle: android {
android/build.gradle: buildscript {
} allprojects { |
Here we go again, since #17287 was closed.
Now I know that this isn't a real bug report. It is not even a real feature request. But I needed to post this somewhere and none of the other channels seemed appropriate.
On 19 December Google announced the following:
source: https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
More specifically:
I believe this is of great importance for React Native since the current default targetSdkVersion seems to be 22. And thus I can only deduce that React Native is not ready for a higher Android API Level. Yes, people have been using React Native using higher API levels but it seems that it's not stable. Time to bump the API Level? Or make sure that everything will work on 26?
TL;DR: You will not be able to release a stable React Native application through the Play Store if you use the default targetSdkVersion starting August 2018. Be ready.
The text was updated successfully, but these errors were encountered: