Description
Currently, the latest release of React Native (0.55.4 at the time of writing) relies on v23 of the Android ecosystem tools (buildTools, SDK, etcs), leaving a huge deal of customisation of the build.gradle
files to each and every dev.
Lately Google has started notifying about how the newer versions of the OS (> 25), and the tooling, will undergo some major changes (and set some deadlines) - hence, opening an 'umbrella' issue become necessary in order to understand/coordinate which of these change will affect the repo.
Here's an extract from their announcement:
In the second half of 2018, Play will require that new apps and app updates target a recent Android API level. This will be required for new apps in August 2018, and for updates to existing apps in November 2018. This is to ensure apps are built on the latest APIs optimized for security and performance.
What follow is the 'most comprehensive' list of changes I managed to research & find - but of course take this with the classic "grain of salt" (and leave a comment if you see something missing).
Android 8 Oreo (API 26)
Android 8.1 Oreo (API 27)
In depth (that I think may be relevant):
Android 9.0 Pie (API 28)
In depth (that I think may be relevant):
Google Play Services
Beginning with version 15 of all Play services and Firebase libraries, version numbers adhere to the semantic versioning scheme. As you know, semver is an industry standard for versioning software components, so you can expect that version number changes for each library indicate the amount of change in the library.
Source: Announcing new SDK versioning in Google Play services and Firebase
Android Support Library
Today, we launch an early preview of the new Android extension libraries (AndroidX) which represents a new era for the Support Library. Please preview the change and give us your feedback. Since this is an early preview, we do not recommend trying this on any production projects as there are some known issues.
These updates will continue the 28.0.0 versioning scheme that began with 28.0.0-alpha1 in March 2018, and they will continue to be source-compatible with existing projects that depend on the android.support package.
The stable release of 28.0.0 will be the final feature release packaged as android.support. All subsequent feature releases will only be made available as androidx-packaged artifacts.
Related issues
- Android Target API Level 26 required in August 2018
pthread.h
not found #2 - Android Target API Level 26 required in August 2018 #2 #18095 (fixed by android compileSdkVersion 26, use buildToolsVersion 26.0.3 #19257) - React Native apps fail to build since NDK update to r17 (due to removed support for ARMv5/armeabi) - React Native apps fail to build since NDK update to r17 (due to removed support for ARMv5/armeabi) #19321
- RN 0.47 seems to be working fine with gradle 4.0 and compileSdkVersion / buildToolsVersion 26 - RN 0.47 seems to be working fine with gradle 4.0 and compileSdkVersion / buildToolsVersion 26 #15448
- Inverted FlatList issues - Inverted FlatList doesn't work on Android P #19434
- Removing unused permissions added at build time - [Android] Removing unused permissions added at build time #5886
- Third party 64-bit library support on Android - Support third-party 64-bit libraries on Android #2814
- Violations on android P
Restrictions on non-SDK interfaces
[ Important ] Violations on android PRestrictions on non-SDK interfaces
#19067 - The ART
<Surface>
becomes invisible in Android - The ART '<Surface>' becomes invisible in Android #17565 - Android Pie: Native feedback ripples are not affected by borderRadius - TouchableNativeFeedback's ripples aren't affected by borderRadius on Android 9 #6480
- [META] Kotlin in React Native - [META] Kotlin in React Native #19991
- [META] Upgrading JSC - [META] Upgrading JSC #19737
Related PRs
- android compileSdkVersion 26, use buildToolsVersion 26.0.3 - android compileSdkVersion 26, use buildToolsVersion 26.0.3 #19257
- Update all the android related projects to target API level 27 Update all the android related projects to target API level 27 #17741