Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Issues using AndroidX and React Native

I've been trying to integrate AndroidX into my hybrid React Native project, and I've run into the issue that Jetifier doesn't run on "local" projects. This results in all of my React Native libraries still using the old support libraries. I've put the appropriate lines into my gradle.properties file:

android.useAndroidX=true android.enableJetifier=true 

This works for any remote libraries, but React Native places all of it's libraries as local modules on disk.

I've tried a lot of things, but so far my best solution is a post package-install script that basically manually replaces all of the packages and add/removes libraries to the various gradle scripts.

This is a very manual process and not super sustainable. Is there a better way to handle this issue?

like image 351
Chubacca Avatar asked Nov 10 '18 02:11

Chubacca


People also ask

How do I use AndroidX in React Native?

Using AndroidX If you want to use AndroidX in a new project, you need to set the compile SDK to Android 9.0 (API level 28) or higher and set both of the following Android Gradle plugin flags to true in your gradle. properties file.

Can we use Android library in React Native?

On the React Native side, you can call both iOS and Android native modules. This is a complete example of a React Native component calling the native module: And that's it for coding, now for the final results.


2 Answers

try using the npm Jetifier package below in a postinstall script

https://www.npmjs.com/package/jetifier

From the readme:

Make sure your app is AndroidX npm install --save-dev jetifier npx jetify (may take a while) npx react-native run-android 
like image 101
Taylor Johnson Avatar answered Sep 24 '22 15:09

Taylor Johnson


Currently, there is no need to install a jetifier separately.

Only use

npx jetify 
like image 20
hong developer Avatar answered Sep 24 '22 15:09

hong developer