Error while merging dex archives:The number of method references in a .dex file cannot exceed 64K.
The code worked properly before add react-native-firebase/admob. But after adding that library build fails. When i removing the react-navigation built. Why these two libraries cannot use same app?
Here is my app.json file and the build.gradle files.
"#react-native-community/masked-view": "^0.1.6",
"#react-native-firebase/admob": "^6.2.0",
"#react-native-firebase/app": "^6.2.0",
"react": "16.8.6",
"react-native": "0.60.0",
"react-native-gesture-handler": "^1.5.3",
"react-native-image-zoom-viewer": "^2.2.27",
"react-native-indicators": "^0.17.0",
"react-native-modal": "^11.5.3",
"react-native-reanimated": "^1.7.0",
"react-native-responsive-dimensions": "^3.0.0",
"react-native-safe-area-context": "^0.6.2",
"react-native-screens": "^2.0.0-alpha.29",
"react-navigation": "^4.0.10",
"react-navigation-stack": "^2.0.16"
},
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.4.1")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}```
Thank you very much and finally I have fixed the problem. I changed the code as
defaultConfig {
// ...
multiDexEnabled true }
I added multiDexEnabled true line to defaultconfig in android/app/build.gradle file
You have to use Multidex in android if the number of method references in a .dex file exceed 64K . To know how to use Multidex please see it doc
Related
My React Native App crashes after update target Sdk version and compileSdkVersion 31. It was working version 30. Google play forced us this update. The app crashes on Android 12 version devices. It works on android 10 or 11.
My package.json file:
{
"name": "app",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"#notifee/react-native": "^0.12.2",
"#react-native-community/async-storage": "^1.9.0",
"#react-native-community/checkbox": "^0.5.7",
"#react-native-community/datetimepicker": "^3.0.3",
"#react-native-community/masked-view": "^0.1.9",
"#react-native-community/netinfo": "^9.3.6",
"#react-native-community/picker": "^1.5.1",
"#react-native-community/progress-bar-android": "^1.0.3",
"#react-native-community/progress-view": "^1.2.1",
"#react-native-community/push-notification-ios": "^1.4.1",
"#react-native-firebase/app": "^8.4.1",
"#react-native-firebase/messaging": "7.8.4",
"axios": "^0.21.1",
"date-fns": "^2.28.0",
"moment": "^2.24.0",
"react": "16.13.1",
"react-native": "^0.64.4",
"react-native-animated-pagination-dots": "^0.1.72",
"react-native-autoheight-webview": "^1.6.1",
"react-native-calendars": "^1.1263.0",
"react-native-countdown-circle-timer": "^2.3.7",
"react-native-directory-picker": "^0.0.2",
"react-native-document-picker": "^5.0.0",
"react-native-elements": "^2.1.0",
"react-native-gesture-handler": "^1.6.1",
"react-native-gifted-chat": "^0.16.3",
"react-native-image-picker": "3.2.1",
"react-native-immersive-bars": "^1.0.1",
"react-native-keyboard-aware-scroll-view": "^0.9.1",
"react-native-month-year-picker": "^1.3.4",
"react-native-paper": "^4.9.2",
"react-native-pdf": "^6.2.2",
"react-native-push-notification": "^5.1.0",
"react-native-reanimated": "2.1.0",
"react-native-redash": "^14.2.3",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.5.0",
"react-native-splash-screen": "^3.2.0",
"react-native-svg": "^12.1.0",
"react-native-svg-transformer": "^0.14.3",
"react-native-swipe-list-view": "^3.2.3",
"react-native-vector-icons": "^9.0.0",
"react-native-video": "^4.4.5",
"react-native-webview": "^11.23.1",
"react-navigation": "^4.1.0",
"react-navigation-drawer": "^2.3.4",
"react-navigation-stack": "^2.0.16",
"react-navigation-tabs": "^2.5.6",
"react-redux": "^7.1.3",
"redux": "^4.0.4",
"redux-thunk": "^2.3.0",
"rn-fetch-blob": "^0.12.0"
},
"devDependencies": {
"#babel/core": "^7.11.1",
"#babel/runtime": "^7.11.2",
"#react-native-community/eslint-config": "^2.0.0",
"babel-jest": "^26.2.2",
"eslint": "^7.6.0",
"jest": "^26.2.2",
"metro-react-native-babel-preset": "^0.61.0",
"react-test-renderer": "16.13.1"
},
"jest": {
"preset": "react-native"
}
}
build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "30.0.2"
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31
ndkVersion = "23.1.7779620"
androidXAnnotation = "1.1.0"
androidXBrowser = "1.0.0"
androidXCore = "1.0.2"
firebaseMessagingVersion = "21.1.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.5.4")
classpath 'com.google.gms:google-services:4.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}
I had the same problem 2 days ago.
You have to do these changes:
file: android/build.gradle
Change these versions like these:
buildscript {
ext {
buildToolsVersion = "31.0.0"
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31
}
file: android/app/build.gradle
Add implementation 'androidx.work:work-runtime-ktx:2.7.0' dependency.
dependencies {
...
implementation 'androidx.work:work-runtime-ktx:2.7.0'
...
}
EDIT: As of late 2022, version 2.7.1 worked, a few other answers suggest using 2.6.0 too which you may try if they work with your system or not.
`implementation 'androidx.work:work-runtime-ktx:2.7.1'`
file: android/app/src/main/AndroidManifest.xml
Add android:exported="true" to the main activity.
<activity
android:name=".MainActivity"
android:exported="true"
...
>
Also you need to add android:exported="false" to each XML tag that has an intent-filter like services and others.
For example, this is my notification service that has an intent-filter as its child:
<receiver android:exported="false" android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
EDIT: Besides this make sure you are using JDK 11
EDIT: Also if the problem persists delete .gradle folder inside the android folder.
Try add this line inside your dependencies in build.gradle
dependencies {
// ...
implementation 'androidx.work:work-runtime:2.7.1'
}
Maybe is that problem here:
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified
Can you also increase your buildToolsVersion to "31.0.0"
Please also make sure that it uses Java 11 and not Java 8.
Dude. Have you tried to update other libraries?
I had same issue and upgrading firebase library version was the solution.
This might be not helpful.
I hope you will fix it.
my issue is when i working with the application everything works fine but when not using the app like 3 or 4 minutes or working just random with application the application does not call any api without error im pretty sure its not the back end or serverside because last version of application works fine without any issue
after api calls doesnt response i turn off wifi and turn on again . everything become normal api successfully called till random moment
packages
"lottie-react-native": "^3.5.0",
"react-native": "^0.63.3",
"react": "16.13.1",
"react-redux": "^7.2.1",
"redux": "^4.0.5",
"redux-persist": "^6.0.0",
"redux-thunk": "^2.3.0",
"#react-native-community/push-notification-ios": "^1.5.0",
"#react-native-community/voice": "^1.1.9",
"react-native-push-notification": "^7.3.1",
"react-native-sqlite-2": "^3.1.1",
"#react-native-firebase/analytics": "^10.6.4",
"#react-native-firebase/app": "^10.8.1",
"#react-native-firebase/messaging": "^10.8.1",
"#react-navigation/bottom-tabs": "^5.9.2",
"#react-navigation/material-top-tabs": "^5.2.19",
"#react-navigation/native": "^5.7.5",
"#react-navigation/stack": "^5.9.2",
androidManifest
android:usesCleartextTraffic="true"
<uses-permission android:name="android.permission.INTERNET" />
build.gradle
buildscript {
ext {
buildToolsVersion = "29.0.2"
minSdkVersion = 21
compileSdkVersion = 28
targetSdkVersion = 28
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:4.1.0")
classpath 'com.google.gms:google-services:4.3.3'
}
}
allprojects {
repositories {
google()
mavenLocal()
maven {
url("$rootDir/../node_modules/react-native/android")
}
maven {
url("$rootDir/../node_modules/jsc-android/dist")
}
jcenter()
maven { url 'https://maven.google.com' }
maven { url 'https://www.jitpack.io' }
}
}
and this is my api call
axios.get(url , header).then(async(response) => {
console.log("get => response => " , response)
await onSuccess(response)
}).catch(error => {
console.log("get => error => " , error)
onFailure(error)
})
what i try
i try to change axios , react native , sqlite, react but non of the packages are making this issue
try to changing sdk version to 30,29,28,27 nothing happend
im using fetch methode but not working
then i uninstall node_modules and re install it with powershell but not working again
I use react-native-google-fit package to get the steps data about the user. In my case this package works fine in some devices but in some others cant get any data or response from the google-fit API.
I cant understand what is the problem, as I know step recording api of the google-fit is not implemented in default as it is in IOS(health-kit). I implemented bugnsag to track the steps and the process stucks when I call google-fit API to get step samples. No error or exception thrown it just feels like hanging.
If anyone have some idea or solution about it I would be very happy to hear.
package.json
"dependencies": {
"#bugsnag/react-native": "^7.3.2",
"#react-native-community/art": "^1.2.0",
"#react-native-community/async-storage": "^1.8.1",
"#react-native-community/cli-platform-ios": "^4.10.1",
"#react-native-community/datetimepicker": "^3.0.1",
"#react-native-community/masked-view": "^0.1.7",
"#react-native-community/viewpager": "^4.1.0",
"#react-native-firebase/app": "^7.1.0",
"#react-native-firebase/messaging": "^7.1.0",
"#react-navigation/native": "^5.0.9",
"#react-navigation/stack": "^5.1.1",
"axios": "^0.19.2",
"dayjs": "^1.8.33",
"firebase": "^7.14.6",
"localized-strings": "^0.2.4",
"react": "16.9.0",
"react-native": "^0.61.5",
"react-native-device-info": "^5.5.7",
"react-native-document-picker": "^3.5.4",
"react-native-dots-pagination": "^0.1.9",
"react-native-fs": "^2.16.6",
"react-native-gesture-handler": "^1.6.0",
"react-native-get-random-values": "^1.3.1",
"react-native-gifted-chat": "^0.16.1",
"react-native-google-fit": "^0.13.0",
"react-native-highlight-words": "^1.0.1",
"react-native-image-picker": "^2.3.1",
"react-native-onesignal": "^3.9.0",
"react-native-progress": "^4.1.2",
"react-native-reanimated": "^1.7.0",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.3.0",
"react-native-vector-icons": "^6.6.0",
"react-native-video": "^4.4.5",
"react-native-webview": "^9.1.4",
"react-navigation": "^4.2.2",
"react-navigation-stack": "^2.2.3",
"react-navigation-tabs": "^2.8.13",
"react-redux": "^7.2.0",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-saga": "^1.1.3",
"rn-apple-healthkit": "^0.8.0"
},
android/build.gradle
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.4.2")
classpath('com.google.gms:google-services:4.3.3')
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
android/app/build.gradle
defaultConfig {
applicationId "com.xx"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 29
versionName "1.4.18"
multiDexEnabled true
}
dependencies {
implementation project(':react-native-webview')
implementation project(':react-native-vector-icons')
implementation project(':react-native-fs')
implementation 'com.google.firebase:firebase-analytics:17.2.2'
implementation "com.android.support:support-core-utils:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.facebook.react:react-native:+"
android.xml permissions
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
function that calls google-fit-api
function getStepsForAndroid(startDate, endDate) {
const options = {
startDate: new Date(startDate).toISOString(), // required ISO8601Timestamp
endDate: new Date(endDate).toISOString() // required ISO8601Timestamp
};
return GoogleFit.getDailyStepCountSamples(options)
}
Well I solved the issue.. Still its very weird issue but, first of course its my fault to not check documentation again. Seconds its bad documentation and naming.. Like how you can write READ_WRITE and it can only mean WRITE?
scopes: [
Scopes.FITNESS_ACTIVITY_READ_WRITE,
Scopes.FITNESS_BODY_READ_WRITE,
],
Its very wrong documentation because just after these example it shows how to retrieve steps(as I just followed those). So instead of top I added two extra permissions and the problem is solved.
scopes: [
Scopes.FITNESS_ACTIVITY_READ,
Scopes.FITNESS_ACTIVITY_READ_WRITE,
Scopes.FITNESS_BODY_READ,
Scopes.FITNESS_BODY_READ_WRITE,
],
So this small issue cost me like few weeks which is actually still unlogical because it worked with only two permissions in half of the devices.. Also I google-fit API has problem because in this case this API could fail and we could catch the error and understand that its the problem of lack of permissions.
Some info first: this is not my workstation, this notebook is owned by the company i work on, i do have some access.
Some things are weird with the enviroment, but we can work, I`m not the only one having problems with the enviroment, but i dont think this is related to env, but with the latest iid update.
The way i have to start the project is by two terminals where
the usage of sudo su is to prevent some bugs within our enviroment
1 > [sudo su] yarn react-native start
2 > [sudo su] yarn android:android:debug
which results in this error:
* What went wrong:
Could not determine the dependencies of task ':app:mergeDebugAssets'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
> Could not find com.google.firebase:firebase-iid:.
Required by:
project :app > project :#react-native-firebase_iid
**import info :#react-native-firebase_iid received an update as of yesterday july/07/2020
so before that all was working
follows the package.json file
"dependencies": {
"#react-native-community/async-storage": "^1.6.1",
"#react-native-community/netinfo": "^5.6.2",
"#react-native-firebase/analytics": "^6.1.0",
"#react-native-firebase/app": "^6.1.0", DOWNGRADING DID NOT HELP ( version bellow )
"#react-native-firebase/iid": "^6.3.4", DOWNGRADING DID NOT HELP ( version bellow )
"axios": "^0.19.0",
"native-base": "^2.13.1",
"prop-types": "^15.7.2",
"react": "16.8.6",
"react-native": "^0.60.4",
"react-native-barcode-builder": "^1.0.5",
"react-native-config": "^0.12.0",
"react-native-dialog": "^5.6.0",
"react-native-elements": "^1.2.0",
"react-native-flip-card": "^3.5.5",
"react-native-geolocation-service": "^3.1.0",
"react-native-gesture-handler": "^1.3.0",
"react-native-image-picker": "^1.1.0",
"react-native-keychain": "^3.1.3",
"react-native-map-link": "^2.5.1",
"react-native-maps": "^0.25.0",
"react-native-masked-text": "^1.13.0",
"react-native-screens": "^2.3.0",
"react-native-splash-screen": "^3.2.0",
"react-native-touch-id": "^4.4.1",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^3.11.1",
"uninstall": "0.0.0"
},
yarn list --pattern "#react-native-firebase" results in
yarn list v1.22.4
├─ #react-native-firebase/analytics#6.7.2
├─ #react-native-firebase/app-types#6.7.1
├─ #react-native-firebase/app#6.7.1
└─ #react-native-firebase/iid#6.7.1
Done in 0.49s.
Following another questions similar to this problem gave me these options
rm -rf node_modules/
rm -rf yarn.lock
./gradlew clean
yarn react-native link react-native-firebase
yarn react-native start --reset-cache
tryng to sync the android project on android studio
IOS also having problems
following the iid instalation to react native from firebase
none worked, sadly
yarn react-native link react-native-firebase results in
$ /home/raiadrogasil.com/kamoraes/Workspace/ProjetosRd/univers-app-react/node_modules/.bin/react-native link react-native-firebase
warn The following packages use deprecated "rnpm" config that will stop working from next release:
- react-native-maps: https://npmjs.com/package/react-native-maps
Please notify their maintainers about it. You can find more details at https://github.com/react-native-community/cli/blob/master/docs/configuration.md#migration-guide.
error Unknown dependency. Make sure that the package you are trying to link is already installed in your "node_modules" and present in your "package.json" dependencies. Run CLI with --verbose flag for more details.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.```
settings.gradle
rootProject.name = 'universAppReact'
include ':react-native-touch-id'
project(':react-native-touch-id').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-touch-id/android')
include ':react-native-gesture-handler'
project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
apply from: file("../node_modules/#react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':#react-native-firebase_app'
project(':#react-native-firebase_app').projectDir = new File(rootProject.projectDir, './../node_modules/#react-native-firebase/app/android')
include ':app'
build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.4.1")
classpath 'com.google.gms:google-services:4.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
}
}
the project stopped working after we tried a new clone, of the project ro resolve some issues.
please if there are needed any more info, do tell me.
Try to play with version of package. In my case i cleared the up arrow before the version and it worked. Don't worry after all i revert changes and all good.
"#react-native-firebase/iid": "6.3.4", DOWNGRADING DID NOT HELP ( version bellow )
"#react-native-firebase/iid": "^6.3.4", DOWNGRADING DID NOT HELP ( version bellow )
I'm new to React Native. I'm learning navigation, so I started with a brand new react native project and followed the steps on the React Navigation website (react navigation doc) :
1) npm install --save react-navigation
2) npm install --save react-native-gesture-handler (not using expo)
3) react-native link react-native-gesture-handler
4) Modify the MainActivity.java as the website says for Android
Then, when I run the command react-native run-android, I see the app in my phone as expected but the following message appears:
Configure project :app
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
Task :react-native-gesture-handler:compileDebugJavaWithJavac
Note: /home/ana/code/react native/seeCompileError/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
I'm on Linux Mint 19 running the code on my physical Android phone.
My build.gradle file:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"
}
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
My package.json file:
{
"name": "seeCompileError",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"jwt-decode": "^2.2.0",
"react": "16.6.3",
"react-native": "0.57.8",
"react-native-gesture-handler": "^1.0.12",
"react-navigation": "^3.0.9",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-persist": "^5.10.0",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
}
}
I would appreciate any hint or help, thank you.
Compile vs Implementation
When you use react-native link it adds the dependency to your build.gradle file; depending on how the dependency has been setup it adds it with compile or implementation. It's easy for you to fix, you can just manually change it to implementation
So in your build.gradle(Module: app) you can change
compile project(':react-native-gesture-handler')
to
implementation project(':react-native-gesture-handler')
You can read more about the differences between Compile and Implementation here: What's the difference between implementation and compile in Gradle?
react-native-gesture-handler
If react-native-gesture-handler is using or overriding deprecated APIs you could flag an issue on their repo, or fix it yourself by making a pull request.
Deprecated apis could be removed without warning making the dependency unusable/unstable. The deprecated apis could also have flaws in them, hence the reason they are deprecated, and these may cause you issues in the future.
But as you are require to use react-native-gesture-handler when using react-navigation you are a bit limited in what you can do.
As I have already said there are several options: flag the issue, fix it yourself with a pull-request, don't use it react-navigation until react-native-gesture-handler is fixed, or you can use it.