-
Notifications
You must be signed in to change notification settings - Fork 38
Description
I spent a few hours chasing this bug by trial and error. It turns out to be an edge case and can be worked around. Couldn't find any related results in search engines. Hope it can help someone who sees similar error.
Describe the bug
bugsnag-android-gradle-plugin crashes (in BugsnagInstallJniLibsTask
) when a react-native project:
- has
externalNativeBuild
defined AND - has another plugin that injects
tasks.whenTaskAdded
into gradle script. In my case, the react-native-config.
Error message is quite confusing:
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/jiulongw/tmp/AwesomeProject/node_modules/@bugsnag/react-native/android/build.gradle' line: 16
* What went wrong:
A problem occurred evaluating project ':bugsnag_react-native'.
> Failed to apply plugin 'com.android.internal.library'.
> Project#afterEvaluate(Action) on project ':bugsnag_react-native' cannot be executed in the current context.
From stack trace it seems to be related to JNI tasks:
at com.bugsnag.android.gradle.BugsnagInstallJniLibsTask$Companion.resolveBugsnagArtifacts$bugsnag_android_gradle_plugin(BugsnagInstallJniLibsTask.kt:70)
at com.bugsnag.android.gradle.BugsnagPlugin$registerNdkLibInstallTask$ndkSetupTask$1.invoke(BugsnagPlugin.kt:131)
at com.bugsnag.android.gradle.BugsnagPlugin$registerNdkLibInstallTask$ndkSetupTask$1.invoke(BugsnagPlugin.kt:60)
For me, the work around is to simply remove the entire tasks.whenTaskAdded
block in react-native-config
's dotenv.gradle
plugin which I don't need anyway...
Hope gradle expert and find the root cause and fix the problem.
Steps to reproduce
I have create a repo bugsnag-plugin-issue-repro which is a clean project created by npx react-native init
, installed bugsnag plugin by npx @bugsnag/react-native-cli init
. This is the commit that triggers the crash.
- Clone bugsnag-plugin-issue-repro
npm install
cd android && ./gradlew assemble
- See error
Environment
- Android Studio version: N/A
- Android Gradle version: 6.7
- Bugsnag manifest section (if modified): N/A