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?
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.
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.
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
Currently, there is no need to install a jetifier separately.
Only use
npx jetify
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With