twilio / twilio-voice-react-native

Other
67 stars 26 forks source link

Critical Build Issues with Twilio Voice React Native SDK 1.1.0 on Android: Java 11 Compatibility and Missing hasActiveReactInstance() Method #416

Closed culov closed 2 weeks ago

culov commented 2 weeks ago

Description: I’m encountering critical issues when attempting to build my Android application using the Twilio Voice React Native SDK version 1.1.0. I have successfully built the iOS version of my app using this SDK version, so it's essential that I resolve the Android build issues to maintain version consistency across platforms.

The primary issues are as follows:

Java 11 Compatibility: The build fails when using Java 11 due to the SDK not recognizing essential Android packages. Java 8 Workaround: Switching to Java 8 allows the build to proceed further, but I encounter a new error related to a missing hasActiveReactInstance() method in JSEventEmitter.java, preventing successful compilation.

I've had this issue with JavaVersion.VERSION_11 and this Twilio package for a year. The existing issue we had for this was closed before anyone ever provided a solution: https://github.com/twilio/twilio-voice-react-native/issues/152. My workaround was to change the java version to JavaVersion.VERSION_1_8, but that no longer works 1.1.0 ( or any version greater than beta2).

I've spent countless hours attempting to resolve these issues without success, and I need assistance to overcome them.

Version 1.0.0-beta2 is the last version of the library I've ever been able to run on Android, and that required changing the Java version away from the default specified in the package.

Environment:

React Native Version: 0.64.0 Twilio Voice React Native SDK Version: 1.1.0 (used for both iOS and Android) Java Version: 11 (default) and 8 (as a workaround) Build Script Configuration:

buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 22
        compileSdkVersion = 33
        targetSdkVersion = 33
        supportLibVersion = "30.0.2"
        googlePlayServicesVersion = "16.0.0"
        firebaseVersion = "18.0.0"
        kotlinVersion  = '1.3.72'
    }
}

Issue Details:

Java 11 Compatibility Issue:

When building the project with Twilio SDK 1.1.0 using Java 11, the build fails due to the SDK not recognizing basic Android packages like android.content, android.util, and others.

Java 8 Workaround and hasActiveReactInstance() Error:

When switching to Java 8, the Android package errors are resolved, but a new critical error occurs: Error: cannot find symbol method hasActiveReactInstance() in JSEventEmitter.java. This error prevents the project from compiling and completing the build process.

Stack Traces

Using Twilio SDK 1.1.0 with Java 11:

Note: Recompile with -Xlint:unchecked for details.
error: package android.content does not exist
import android.content.Intent;
                      ^
error: package android.util does not exist
import android.util.Log;
                   ^
error: package android.app does not exist
import android.app.Notification;
                  ^
error: package android.content does not exist
import android.content.Context;
                      ^
error: cannot find symbol
  private AudioSwitchManager(Context context) {
                             ^
  symbol:   class Context
  location: class AudioSwitchManager
...

Using Twilio SDK 1.1.0 with Java 8:

> Task :twilio_voice-react-native-sdk:compileDebugJavaWithJavac FAILED
error: cannot find symbol
    if ((null != context.get() && context.get().hasActiveReactInstance())) {
                                               ^
  symbol:   method hasActiveReactInstance()
  location: class ReactApplicationContext
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

FAILURE: Build failed with an exception.
...

Current Roadblocks:

Java 11: I cannot proceed with the build due to the SDK not recognizing standard Android packages, which seems to be a compatibility issue with Java 11. Java 8: Although switching to Java 8 resolves some issues, the missing hasActiveReactInstance() method blocks the build, and this method seems to be crucial for the SDK’s operation. Questions:

Primary Question: How can I successfully build my Android project using Twilio Voice React Native SDK 1.1.0 with either Java 11 (preferred) or Java 8, overcoming the current errors?

Additional Notes:

Any guidance or assistance you can provide would be greatly appreciated, as this issue is blocking the release of my application.

mhuynh5757 commented 2 weeks ago

Hi @culov sorry that you're encountering such a critical issue. Let me see if I can help you out here.

I'm not sure why you're seeing these build failures on Java 11, as that's the version of Java that I use to build and test the SDK itself, as well as the Test App and the Reference App. Are you using the Zulu runtime, as recommended by the React Native team? What platform are you using to build, MacOS, Windows, Linux?

culov commented 2 weeks ago

Hi @mhuynh5757, I'm building on MacOS on 14.6.1 with M3 Max.

I'm not using Zulu runtime, but I can try that too. Here's the runtime I'm currently using:

% java -version openjdk version "11.0.22" 2024-01-16 OpenJDK Runtime Environment Homebrew (build 11.0.22+0) OpenJDK 64-Bit Server VM Homebrew (build 11.0.22+0, mixed mode)

mhuynh5757 commented 2 weeks ago

Please let me know if that works for you. Just for clarity, I use the JDK runtime as recommended by the React Native team, found here: https://reactnative.dev/docs/0.72/environment-setup

culov commented 2 weeks ago

Hi @mhuynh5757 , unfortunately, switching to the Zulu runtime didn't fix it

mhuynh5757 commented 2 weeks ago

Hi @culov that is unfortunate to hear, I was really hoping that would solve this issue for us. Could I ask you to try and build the Test App that's built into this repository under the test/app folder? I am concerned that this might be related to your RN version, 0.64.x which is quite old at this point.

culov commented 2 weeks ago

Hi @culov , I ran the test app last night and got it to build fine. Is there a minimum version of RN required for the latest version of the library? I will be following up very soon with more details on the troubleshooting I've been doing.

mhuynh5757 commented 2 weeks ago

Are you able to build your app using Java 11 without our library installed?

culov commented 2 weeks ago

Yes. The only part of the build process that is broken is this part - ./gradlew :twilio_voice-react-native-sdk:compileDebugJavaWithJavac

Furthermore, everything works great on iOS with the latest version of this library.

mhuynh5757 commented 2 weeks ago

Just so we're on the same page, here's what I get when i do java -version:

openjdk version "11.0.22" 2024-01-16 LTS
OpenJDK Runtime Environment Zulu11.70+15-CA (build 11.0.22+7-LTS)
OpenJDK 64-Bit Server VM Zulu11.70+15-CA (build 11.0.22+7-LTS, mixed mode)
culov commented 2 weeks ago

%java -version prints

openjdk version "11.0.24" 2024-07-16 LTS
OpenJDK Runtime Environment Zulu11.74+15-CA (build 11.0.24+8-LTS)
OpenJDK 64-Bit Server VM Zulu11.74+15-CA (build 11.0.24+8-LTS, mixed mode)

I've tried countless changes in the build.gradle for both my project and the Twilio library, but here's where we started:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 23
        compileSdkVersion = 30
        targetSdkVersion = 30
        supportLibVersion = "30.0.2"
        googlePlayServicesVersion = "16.0.0"
        firebaseVersion = "18.0.0"
        kotlinVersion  = '1.3.72'
        ndkVersion = "25.2.9519653"
    }
    repositories {
        google() 
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        classpath 'com.google.gms:google-services:4.3.3'
        classpath "com.bugsnag:bugsnag-android-gradle-plugin:5.+"
        // classpath 'com.android.tools.build:gradle:3.0.0'
        // classpath 'com.google.gms:google-services:4.2.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

    }
}
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())

allprojects {
    configurations.all {
       resolutionStrategy {
           force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
       }
   }
    repositories {
        google()
        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")
        }
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 30
                buildToolsVersion '30.0.3'
            }
        }
    }
     project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.0"
            }
        }
    }
}

Running ./gradlew :twilio_voice-react-native-sdk:compileDebugJavaWithJavac --info --stacktrace

yields this huge stack trace:

Caching disabled for task ':twilio_voice-react-native-sdk:generateDebugRFile' because:
  Build cache is disabled
Skipping task ':twilio_voice-react-native-sdk:generateDebugRFile' as it is up-to-date.
Resolve mutations for :twilio_voice-react-native-sdk:javaPreCompileDebug (Thread[Execution worker Thread 5,5,main]) started.
:twilio_voice-react-native-sdk:javaPreCompileDebug (Thread[Execution worker Thread 5,5,main]) started.

> Task :twilio_voice-react-native-sdk:javaPreCompileDebug UP-TO-DATE
Caching disabled for task ':twilio_voice-react-native-sdk:javaPreCompileDebug' because:
  Build cache is disabled
Skipping task ':twilio_voice-react-native-sdk:javaPreCompileDebug' as it is up-to-date.
Resolve mutations for :twilio_voice-react-native-sdk:compileDebugJavaWithJavac (Thread[Execution worker Thread 5,5,main]) started.
producer locations for task group 0 (Thread[Execution worker Thread 5,5,main]) started.
:twilio_voice-react-native-sdk:compileDebugJavaWithJavac (Thread[Execution worker Thread 8,5,main]) started.

> Task :twilio_voice-react-native-sdk:compileDebugJavaWithJavac FAILED
Transforming react-native-0.64.0.aar (com.facebook.react:react-native:0.64.0) with JetifyTransform
Transforming react-native-0.64.0.aar (com.facebook.react:react-native:0.64.0) with AarToClassTransform
Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with JetifyTransform
Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with IdentityTransform
Transforming firebase-messaging-23.4.0.aar (com.google.firebase:firebase-messaging:23.4.0) with JetifyTransform
Transforming firebase-messaging-23.4.0.aar (com.google.firebase:firebase-messaging:23.4.0) with AarToClassTransform
Transforming firebase-datatransport-18.1.7.aar (com.google.firebase:firebase-datatransport:18.1.7) with JetifyTransform
Transforming firebase-datatransport-18.1.7.aar (com.google.firebase:firebase-datatransport:18.1.7) with AarToClassTransform
Transforming infer-annotation-0.11.2.jar (com.facebook.infer.annotation:infer-annotation:0.11.2) with JetifyTransform
Transforming transport-backend-cct-3.1.8.aar (com.google.android.datatransport:transport-backend-cct:3.1.8) with JetifyTransform
Transforming proguard-annotations-1.14.1.jar (com.facebook.yoga:proguard-annotations:1.14.1) with JetifyTransform
Transforming infer-annotation-0.11.2.jar (com.facebook.infer.annotation:infer-annotation:0.11.2) with IdentityTransform
Transforming proguard-annotations-1.14.1.jar (com.facebook.yoga:proguard-annotations:1.14.1) with IdentityTransform
Transforming transport-backend-cct-3.1.8.aar (com.google.android.datatransport:transport-backend-cct:3.1.8) with AarToClassTransform
Transforming transport-runtime-3.1.8.aar (com.google.android.datatransport:transport-runtime:3.1.8) with JetifyTransform
Transforming transport-runtime-3.1.8.aar (com.google.android.datatransport:transport-runtime:3.1.8) with AarToClassTransform
Transforming firebase-installations-17.2.0.aar (com.google.firebase:firebase-installations:17.2.0) with JetifyTransform
Transforming firebase-installations-17.2.0.aar (com.google.firebase:firebase-installations:17.2.0) with AarToClassTransform
Transforming firebase-installations-interop-17.1.1.aar (com.google.firebase:firebase-installations-interop:17.1.1) with JetifyTransform
Transforming firebase-installations-interop-17.1.1.aar (com.google.firebase:firebase-installations-interop:17.1.1) with AarToClassTransform
Transforming firebase-measurement-connector-19.0.0.aar (com.google.firebase:firebase-measurement-connector:19.0.0) with JetifyTransform
Transforming firebase-measurement-connector-19.0.0.aar (com.google.firebase:firebase-measurement-connector:19.0.0) with AarToClassTransform
Transforming firebase-common-ktx-20.4.2.aar (com.google.firebase:firebase-common-ktx:20.4.2) with JetifyTransform
Transforming firebase-common-ktx-20.4.2.aar (com.google.firebase:firebase-common-ktx:20.4.2) with AarToClassTransform
Transforming firebase-common-20.4.2.aar (com.google.firebase:firebase-common:20.4.2) with JetifyTransform
Transforming firebase-common-20.4.2.aar (com.google.firebase:firebase-common:20.4.2) with AarToClassTransform
Transforming firebase-components-17.1.5.aar (com.google.firebase:firebase-components:17.1.5) with JetifyTransform
Transforming firebase-components-17.1.5.aar (com.google.firebase:firebase-components:17.1.5) with AarToClassTransform
Transforming firebase-components-17.1.5.aar (com.google.firebase:firebase-components:17.1.5) with JetifyTransform
Transforming firebase-components-17.1.5.aar (com.google.firebase:firebase-components:17.1.5) with AarToClassTransform
Transforming material-1.1.0.aar (com.google.android.material:material:1.1.0) with JetifyTransform
Transforming material-1.1.0.aar (com.google.android.material:material:1.1.0) with AarToClassTransform
Transforming appcompat-1.1.0.aar (androidx.appcompat:appcompat:1.1.0) with JetifyTransform
Transforming appcompat-1.1.0.aar (androidx.appcompat:appcompat:1.1.0) with AarToClassTransform
Transforming appcompat-1.1.0.aar (androidx.appcompat:appcompat:1.1.0) with JetifyTransform
Transforming appcompat-1.1.0.aar (androidx.appcompat:appcompat:1.1.0) with AarToClassTransform
Transforming firebase-annotations-16.2.0.jar (com.google.firebase:firebase-annotations:16.2.0) with JetifyTransform
Transforming javax.inject-1.jar (javax.inject:javax.inject:1) with JetifyTransform
Transforming swiperefreshlayout-1.0.0.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with JetifyTransform
Transforming firebase-annotations-16.2.0.jar (com.google.firebase:firebase-annotations:16.2.0) with IdentityTransform
Transforming javax.inject-1.jar (javax.inject:javax.inject:1) with IdentityTransform
Transforming swiperefreshlayout-1.0.0.aar (androidx.swiperefreshlayout:swiperefreshlayout:1.0.0) with AarToClassTransform
Transforming lifecycle-extensions-2.2.0.aar (androidx.lifecycle:lifecycle-extensions:2.2.0) with JetifyTransform
Transforming lifecycle-extensions-2.2.0.aar (androidx.lifecycle:lifecycle-extensions:2.2.0) with AarToClassTransform
Transforming firebase-iid-interop-17.1.0.aar (com.google.firebase:firebase-iid-interop:17.1.0) with JetifyTransform
Transforming firebase-iid-interop-17.1.0.aar (com.google.firebase:firebase-iid-interop:17.1.0) with AarToClassTransform
Transforming play-services-base-18.0.1.aar (com.google.android.gms:play-services-base:18.0.1) with JetifyTransform
Transforming play-services-base-18.0.1.aar (com.google.android.gms:play-services-base:18.0.1) with AarToClassTransform
Transforming play-services-cloud-messaging-17.1.0.aar (com.google.android.gms:play-services-cloud-messaging:17.1.0) with JetifyTransform
Transforming play-services-cloud-messaging-17.1.0.aar (com.google.android.gms:play-services-cloud-messaging:17.1.0) with AarToClassTransform
Transforming play-services-tasks-18.0.2.aar (com.google.android.gms:play-services-tasks:18.0.2) with JetifyTransform
Transforming play-services-tasks-18.0.2.aar (com.google.android.gms:play-services-tasks:18.0.2) with AarToClassTransform
Transforming play-services-tasks-18.0.2.aar (com.google.android.gms:play-services-tasks:18.0.2) with JetifyTransform
Transforming play-services-tasks-18.0.2.aar (com.google.android.gms:play-services-tasks:18.0.2) with AarToClassTransform
Transforming play-services-stats-17.0.2.aar (com.google.android.gms:play-services-stats:17.0.2) with JetifyTransform
Transforming play-services-stats-17.0.2.aar (com.google.android.gms:play-services-stats:17.0.2) with AarToClassTransform
Transforming play-services-basement-18.1.0.aar (com.google.android.gms:play-services-basement:18.1.0) with JetifyTransform
Transforming play-services-basement-18.1.0.aar (com.google.android.gms:play-services-basement:18.1.0) with AarToClassTransform
Transforming viewpager2-1.0.0.aar (androidx.viewpager2:viewpager2:1.0.0) with JetifyTransform
Transforming viewpager2-1.0.0.aar (androidx.viewpager2:viewpager2:1.0.0) with AarToClassTransform
Transforming kotlinx-coroutines-play-services-1.6.4.jar (org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4) with JetifyTransform
Transforming kotlinx-coroutines-core-jvm-1.6.4.jar (org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4) with JetifyTransform
Transforming fragment-1.2.0.aar (androidx.fragment:fragment:1.2.0) with JetifyTransform
Transforming fragment-1.2.0.aar (androidx.fragment:fragment:1.2.0) with AarToClassTransform
Transforming kotlinx-coroutines-core-jvm-1.6.4.jar (org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4) with IdentityTransform
Transforming kotlinx-coroutines-play-services-1.6.4.jar (org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4) with IdentityTransform
Transforming coordinatorlayout-1.1.0.aar (androidx.coordinatorlayout:coordinatorlayout:1.1.0) with JetifyTransform
Transforming coordinatorlayout-1.1.0.aar (androidx.coordinatorlayout:coordinatorlayout:1.1.0) with AarToClassTransform
Transforming recyclerview-1.1.0.aar (androidx.recyclerview:recyclerview:1.1.0) with JetifyTransform
Transforming recyclerview-1.1.0.aar (androidx.recyclerview:recyclerview:1.1.0) with AarToClassTransform
Transforming transition-1.2.0.aar (androidx.transition:transition:1.2.0) with JetifyTransform
Transforming transition-1.2.0.aar (androidx.transition:transition:1.2.0) with AarToClassTransform
Transforming appcompat-resources-1.1.0.aar (androidx.appcompat:appcompat-resources:1.1.0) with JetifyTransform
Transforming appcompat-resources-1.1.0.aar (androidx.appcompat:appcompat-resources:1.1.0) with AarToClassTransform
Transforming vectordrawable-animated-1.1.0.aar (androidx.vectordrawable:vectordrawable-animated:1.1.0) with JetifyTransform
Transforming vectordrawable-animated-1.1.0.aar (androidx.vectordrawable:vectordrawable-animated:1.1.0) with AarToClassTransform
Transforming vectordrawable-1.1.0.aar (androidx.vectordrawable:vectordrawable:1.1.0) with JetifyTransform
Transforming vectordrawable-1.1.0.aar (androidx.vectordrawable:vectordrawable:1.1.0) with AarToClassTransform
Transforming drawerlayout-1.0.0.aar (androidx.drawerlayout:drawerlayout:1.0.0) with JetifyTransform
Transforming drawerlayout-1.0.0.aar (androidx.drawerlayout:drawerlayout:1.0.0) with AarToClassTransform
Transforming viewpager-1.0.0.aar (androidx.viewpager:viewpager:1.0.0) with JetifyTransform
Transforming viewpager-1.0.0.aar (androidx.viewpager:viewpager:1.0.0) with AarToClassTransform
Transforming legacy-support-core-utils-1.0.0.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with JetifyTransform
Transforming legacy-support-core-utils-1.0.0.aar (androidx.legacy:legacy-support-core-utils:1.0.0) with AarToClassTransform
Transforming loader-1.0.0.aar (androidx.loader:loader:1.0.0) with JetifyTransform
Transforming loader-1.0.0.aar (androidx.loader:loader:1.0.0) with AarToClassTransform
Transforming activity-1.1.0.aar (androidx.activity:activity:1.1.0) with JetifyTransform
Transforming activity-1.1.0.aar (androidx.activity:activity:1.1.0) with AarToClassTransform
Transforming customview-1.0.0.aar (androidx.customview:customview:1.0.0) with JetifyTransform
Transforming customview-1.0.0.aar (androidx.customview:customview:1.0.0) with AarToClassTransform
Transforming core-1.10.1.aar (androidx.core:core:1.10.1) with JetifyTransform
Transforming core-1.10.1.aar (androidx.core:core:1.10.1) with AarToClassTransform
Transforming core-1.10.1.aar (androidx.core:core:1.10.1) with JetifyTransform
Transforming core-1.10.1.aar (androidx.core:core:1.10.1) with AarToClassTransform
Transforming audioswitch-1.1.8.aar (com.twilio:audioswitch:1.1.8) with JetifyTransform
Transforming audioswitch-1.1.8.aar (com.twilio:audioswitch:1.1.8) with AarToClassTransform
Transforming lifecycle-process-2.2.0.aar (androidx.lifecycle:lifecycle-process:2.2.0) with JetifyTransform
Transforming lifecycle-process-2.2.0.aar (androidx.lifecycle:lifecycle-process:2.2.0) with AarToClassTransform
Transforming lifecycle-service-2.2.0.aar (androidx.lifecycle:lifecycle-service:2.2.0) with JetifyTransform
Transforming lifecycle-service-2.2.0.aar (androidx.lifecycle:lifecycle-service:2.2.0) with AarToClassTransform
Transforming lifecycle-runtime-2.3.1.aar (androidx.lifecycle:lifecycle-runtime:2.3.1) with JetifyTransform
Transforming lifecycle-runtime-2.3.1.aar (androidx.lifecycle:lifecycle-runtime:2.3.1) with AarToClassTransform
Transforming lifecycle-runtime-2.3.1.aar (androidx.lifecycle:lifecycle-runtime:2.3.1) with JetifyTransform
Transforming lifecycle-runtime-2.3.1.aar (androidx.lifecycle:lifecycle-runtime:2.3.1) with AarToClassTransform
Transforming versionedparcelable-1.1.1.aar (androidx.versionedparcelable:versionedparcelable:1.1.1) with JetifyTransform
Transforming versionedparcelable-1.1.1.aar (androidx.versionedparcelable:versionedparcelable:1.1.1) with AarToClassTransform
Transforming lifecycle-livedata-2.2.0.aar (androidx.lifecycle:lifecycle-livedata:2.2.0) with JetifyTransform
Transforming lifecycle-livedata-2.2.0.aar (androidx.lifecycle:lifecycle-livedata:2.2.0) with AarToClassTransform
Transforming lifecycle-viewmodel-savedstate-1.0.0.aar (androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0) with JetifyTransform
Transforming lifecycle-viewmodel-savedstate-1.0.0.aar (androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0) with AarToClassTransform
Transforming lifecycle-livedata-core-2.2.0.aar (androidx.lifecycle:lifecycle-livedata-core:2.2.0) with JetifyTransform
Transforming lifecycle-livedata-core-2.2.0.aar (androidx.lifecycle:lifecycle-livedata-core:2.2.0) with AarToClassTransform
Transforming core-runtime-2.1.0.aar (androidx.arch.core:core-runtime:2.1.0) with JetifyTransform
Transforming core-runtime-2.1.0.aar (androidx.arch.core:core-runtime:2.1.0) with AarToClassTransform
Transforming savedstate-1.0.0.aar (androidx.savedstate:savedstate:1.0.0) with JetifyTransform
Transforming savedstate-1.0.0.aar (androidx.savedstate:savedstate:1.0.0) with AarToClassTransform
Transforming lifecycle-viewmodel-2.2.0.aar (androidx.lifecycle:lifecycle-viewmodel:2.2.0) with JetifyTransform
Transforming lifecycle-viewmodel-2.2.0.aar (androidx.lifecycle:lifecycle-viewmodel:2.2.0) with AarToClassTransform
Transforming transport-api-3.1.0.aar (com.google.android.datatransport:transport-api:3.1.0) with JetifyTransform
Transforming transport-api-3.1.0.aar (com.google.android.datatransport:transport-api:3.1.0) with AarToClassTransform
Transforming firebase-encoders-json-18.0.0.aar (com.google.firebase:firebase-encoders-json:18.0.0) with JetifyTransform
Transforming core-common-2.1.0.jar (androidx.arch.core:core-common:2.1.0) with JetifyTransform
Transforming core-common-2.1.0.jar (androidx.arch.core:core-common:2.1.0) with IdentityTransform
Transforming firebase-encoders-proto-16.0.0.jar (com.google.firebase:firebase-encoders-proto:16.0.0) with JetifyTransform
Transforming firebase-encoders-proto-16.0.0.jar (com.google.firebase:firebase-encoders-proto:16.0.0) with IdentityTransform
Transforming firebase-encoders-json-18.0.0.aar (com.google.firebase:firebase-encoders-json:18.0.0) with AarToClassTransform
Transforming lifecycle-common-2.3.1.jar (androidx.lifecycle:lifecycle-common:2.3.1) with JetifyTransform
Transforming cardview-1.0.0.aar (androidx.cardview:cardview:1.0.0) with JetifyTransform
Transforming cardview-1.0.0.aar (androidx.cardview:cardview:1.0.0) with AarToClassTransform
Transforming lifecycle-common-2.3.1.jar (androidx.lifecycle:lifecycle-common:2.3.1) with IdentityTransform
Transforming cursoradapter-1.0.0.aar (androidx.cursoradapter:cursoradapter:1.0.0) with JetifyTransform
Transforming firebase-encoders-17.0.0.jar (com.google.firebase:firebase-encoders:17.0.0) with JetifyTransform
Transforming cursoradapter-1.0.0.aar (androidx.cursoradapter:cursoradapter:1.0.0) with AarToClassTransform
Transforming firebase-encoders-17.0.0.jar (com.google.firebase:firebase-encoders:17.0.0) with IdentityTransform
Transforming interpolator-1.0.0.aar (androidx.interpolator:interpolator:1.0.0) with JetifyTransform
Transforming interpolator-1.0.0.aar (androidx.interpolator:interpolator:1.0.0) with AarToClassTransform
Transforming documentfile-1.0.0.aar (androidx.documentfile:documentfile:1.0.0) with JetifyTransform
Transforming collection-1.1.0.jar (androidx.collection:collection:1.1.0) with JetifyTransform
Transforming documentfile-1.0.0.aar (androidx.documentfile:documentfile:1.0.0) with AarToClassTransform
Transforming concurrent-futures-1.1.0.jar (androidx.concurrent:concurrent-futures:1.1.0) with JetifyTransform
Transforming collection-1.1.0.jar (androidx.collection:collection:1.1.0) with IdentityTransform
Transforming concurrent-futures-1.1.0.jar (androidx.concurrent:concurrent-futures:1.1.0) with IdentityTransform
Transforming localbroadcastmanager-1.0.0.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with JetifyTransform
Transforming localbroadcastmanager-1.0.0.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarToClassTransform
Transforming print-1.0.0.aar (androidx.print:print:1.0.0) with JetifyTransform
Transforming print-1.0.0.aar (androidx.print:print:1.0.0) with AarToClassTransform
Transforming annotation-experimental-1.3.0.aar (androidx.annotation:annotation-experimental:1.3.0) with JetifyTransform
Transforming annotation-experimental-1.3.0.aar (androidx.annotation:annotation-experimental:1.3.0) with AarToClassTransform
Transforming annotations-13.0.jar (org.jetbrains:annotations:13.0) with JetifyTransform
Transforming annotations-13.0.jar (org.jetbrains:annotations:13.0) with IdentityTransform
Transforming fresco-2.0.0.aar (com.facebook.fresco:fresco:2.0.0) with JetifyTransform
Transforming annotation-jvm-1.6.0.jar (androidx.annotation:annotation-jvm:1.6.0) with JetifyTransform
Transforming kotlin-stdlib-common-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0) with JetifyTransform
Transforming annotation-jvm-1.6.0.jar (androidx.annotation:annotation-jvm:1.6.0) with IdentityTransform
Transforming kotlin-stdlib-common-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0) with IdentityTransform
Transforming kotlin-stdlib-jdk8-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0) with JetifyTransform
Transforming fresco-2.0.0.aar (com.facebook.fresco:fresco:2.0.0) with AarToClassTransform
Transforming fbcore-2.0.0.aar (com.facebook.fresco:fbcore:2.0.0) with JetifyTransform
Transforming fbcore-2.0.0.aar (com.facebook.fresco:fbcore:2.0.0) with AarToClassTransform
Transforming kotlin-stdlib-jdk8-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0) with IdentityTransform
Transforming drawee-2.0.0.aar (com.facebook.fresco:drawee:2.0.0) with JetifyTransform
Transforming drawee-2.0.0.aar (com.facebook.fresco:drawee:2.0.0) with AarToClassTransform
Transforming imagepipeline-2.0.0.aar (com.facebook.fresco:imagepipeline:2.0.0) with JetifyTransform
Transforming kotlin-stdlib-jdk7-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0) with JetifyTransform
Transforming kotlin-stdlib-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) with JetifyTransform
Transforming listenablefuture-1.0.jar (com.google.guava:listenablefuture:1.0) with JetifyTransform
Transforming kotlin-stdlib-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) with IdentityTransform
Transforming kotlin-stdlib-jdk7-1.8.0.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0) with IdentityTransform
Transforming imagepipeline-2.0.0.aar (com.facebook.fresco:imagepipeline:2.0.0) with AarToClassTransform
Transforming imagepipeline-base-2.0.0.aar (com.facebook.fresco:imagepipeline-base:2.0.0) with JetifyTransform
Transforming imagepipeline-base-2.0.0.aar (com.facebook.fresco:imagepipeline-base:2.0.0) with AarToClassTransform
Transforming soloader-0.9.0.aar (com.facebook.soloader:soloader:0.9.0) with JetifyTransform
Transforming listenablefuture-1.0.jar (com.google.guava:listenablefuture:1.0) with IdentityTransform
Transforming soloader-0.9.0.aar (com.facebook.soloader:soloader:0.9.0) with AarToClassTransform
Transforming nativeimagefilters-2.0.0.aar (com.facebook.fresco:nativeimagefilters:2.0.0) with JetifyTransform
Transforming nativeimagefilters-2.0.0.aar (com.facebook.fresco:nativeimagefilters:2.0.0) with AarToClassTransform
Transforming nativeimagetranscoder-2.0.0.aar (com.facebook.fresco:nativeimagetranscoder:2.0.0) with JetifyTransform
Transforming annotation-0.9.0.jar (com.facebook.soloader:annotation:0.9.0) with JetifyTransform
Transforming nativeimagetranscoder-2.0.0.aar (com.facebook.fresco:nativeimagetranscoder:2.0.0) with AarToClassTransform
Transforming nativeloader-0.9.0.jar (com.facebook.soloader:nativeloader:0.9.0) with JetifyTransform
Transforming imagepipeline-okhttp3-2.0.0.aar (com.facebook.fresco:imagepipeline-okhttp3:2.0.0) with JetifyTransform
Transforming annotation-0.9.0.jar (com.facebook.soloader:annotation:0.9.0) with IdentityTransform
Transforming imagepipeline-okhttp3-2.0.0.aar (com.facebook.fresco:imagepipeline-okhttp3:2.0.0) with AarToClassTransform
Transforming nativeloader-0.9.0.jar (com.facebook.soloader:nativeloader:0.9.0) with IdentityTransform
Transforming okhttp-urlconnection-3.12.12.jar (com.squareup.okhttp3:okhttp-urlconnection:3.12.12) with JetifyTransform
Transforming okhttp-urlconnection-3.12.12.jar (com.squareup.okhttp3:okhttp-urlconnection:3.12.12) with IdentityTransform
Transforming okhttp-3.12.12.jar (com.squareup.okhttp3:okhttp:3.12.12) with JetifyTransform
Transforming okhttp-3.12.12.jar (com.squareup.okhttp3:okhttp:3.12.12) with IdentityTransform
Transforming voice-android-6.6.1.aar (com.twilio:voice-android:6.6.1) with JetifyTransform
Transforming voice-android-6.6.1.aar (com.twilio:voice-android:6.6.1) with AarToClassTransform
Transforming okio-1.17.5.jar (com.squareup.okio:okio:1.17.5) with JetifyTransform
Transforming error_prone_annotations-2.9.0.jar (com.google.errorprone:error_prone_annotations:2.9.0) with JetifyTransform
Transforming okio-1.17.5.jar (com.squareup.okio:okio:1.17.5) with IdentityTransform
Transforming error_prone_annotations-2.9.0.jar (com.google.errorprone:error_prone_annotations:2.9.0) with IdentityTransform
Transforming fbjni-java-only-0.0.3.jar (com.facebook.fbjni:fbjni-java-only:0.0.3) with JetifyTransform
Transforming fbjni-java-only-0.0.3.jar (com.facebook.fbjni:fbjni-java-only:0.0.3) with IdentityTransform
Caching disabled for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac' because:
  Build cache is disabled
Task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac' is not up-to-date because:
  Task has failed previously.
The input changes require a full rebuild for incremental task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with toolchain '/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home'.
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/debug/java', not found
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/build/generated/aidl_source_output_dir/debug/out', not found
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/build/generated/renderscript_source_output_dir/debug/out', not found
Compiling with JDK Java compiler API.
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:8: error: package android.app does not exist
import android.app.Application;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:9: error: package android.content does not exist
import android.content.ComponentName;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:10: error: package android.content does not exist
import android.content.Context;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:11: error: package android.content does not exist
import android.content.Intent;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:12: error: package android.content does not exist
import android.content.ServiceConnection;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:13: error: package android.os does not exist
import android.os.IBinder;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/SDKLog.java:3: error: package android.util does not exist
import android.util.Log;
                   ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:21: error: cannot find symbol
  private Application context = null;
          ^
  symbol:   class Application
  location: class VoiceApplicationProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/MediaPlayerManager.java:4: error: package android.media does not exist
import android.media.AudioAttributes;
                    ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/MediaPlayerManager.java:5: error: package android.media does not exist
import android.media.SoundPool;
                    ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/JSEventEmitter.java:3: error: package android.util does not exist
import android.util.Pair;
                   ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:38: error: package android does not exist
import android.Manifest;
              ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:39: error: package android.app does not exist
import android.app.Notification;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:40: error: package android.app does not exist
import android.app.NotificationManager;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:41: error: package android.app does not exist
import android.app.Service;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:43: error: package android.content does not exist
import android.content.Intent;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:44: error: package android.content.pm does not exist
import android.content.pm.PackageManager;
                         ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:45: error: package android.content.pm does not exist
import android.content.pm.ServiceInfo;
                         ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:46: error: package android.os does not exist
import android.os.Binder;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:47: error: package android.os does not exist
import android.os.Build;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:48: error: package android.os does not exist
import android.os.IBinder;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:64: error: cannot find symbol
public class VoiceService extends Service {
                                  ^
  symbol: class Service
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:66: error: cannot find symbol
  public class VoiceServiceAPI extends Binder {
                                       ^
  symbol:   class Binder
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:27: error: cannot find symbol
  private final ServiceConnection voiceServiceObserver = new ServiceConnection() {
                ^
  symbol:   class ServiceConnection
  location: class VoiceApplicationProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:103: error: cannot find symbol
  static Context getApplicationContext() {
         ^
  symbol:   class Context
  location: class VoiceApplicationProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:39: error: cannot find symbol
    public VoiceReactNativeHost(Application application) {
                                ^
  symbol:   class Application
  location: class VoiceReactNativeHost
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:46: error: cannot find symbol
    public Application getAssociatedApplication() {
           ^
  symbol:   class Application
  location: class VoiceReactNativeHost
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:96: error: cannot find symbol
    public Context getServiceContext() {
           ^
  symbol:   class Context
  location: class VoiceService.VoiceServiceAPI
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:102: error: cannot find symbol
  public int onStartCommand(Intent intent, int flags, int startId) {
                            ^
  symbol:   class Intent
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:145: error: cannot find symbol
  public IBinder onBind(Intent intent) {
                        ^
  symbol:   class Intent
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:145: error: cannot find symbol
  public IBinder onBind(Intent intent) {
         ^
  symbol:   class IBinder
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:148: error: cannot find symbol
  public static Intent constructMessage(@NonNull Context context,
                                                 ^
  symbol:   class Context
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:148: error: cannot find symbol
  public static Intent constructMessage(@NonNull Context context,
                ^
  symbol:   class Intent
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:346: error: cannot find symbol
                                           final Notification notification) {
                                                 ^
  symbol:   class Notification
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:352: error: cannot find symbol
                                                     final Notification notification) {
                                                           ^
  symbol:   class Notification
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:370: error: cannot find symbol
  private void foregroundNotification(int id, Notification notification) {
                                              ^
  symbol:   class Notification
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:382: error: cannot find symbol
  private static UUID getMessageUUID(@NonNull final Intent intent) {
                                                    ^
  symbol:   class Intent
  location: class VoiceService
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/JSEventEmitter.java:68: error: cannot find symbol
  public static WritableMap constructJSMap(@NonNull Pair<String, Object>...entries) {
                                                    ^
  symbol:   class Pair
  location: class JSEventEmitter
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/MediaPlayerManager.java:17: error: cannot find symbol
  private final SoundPool soundPool;
                ^
  symbol:   class SoundPool
  location: class MediaPlayerManager
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/MediaPlayerManager.java:21: error: cannot find symbol
  MediaPlayerManager(Context context) {
                     ^
  symbol:   class Context
  location: class MediaPlayerManager
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/AudioSwitchManager.java:66: error: cannot find symbol
  public AudioSwitchManager(Context context) {
                            ^
  symbol:   class Context
  location: class AudioSwitchManager
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/TwilioVoiceReactNativeModule.java:49: error: package android.annotation does not exist
import android.annotation.SuppressLint;
                         ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/TwilioVoiceReactNativeModule.java:552: error: cannot find symbol
  private static CallRecord validateCallRecord(@NonNull final Context context,
                                                              ^
  symbol:   class Context
  location: class TwilioVoiceReactNativeModule
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/TwilioVoiceReactNativeModule.java:563: error: cannot find symbol
  private static CallRecord validateCallInviteRecord(@NonNull final Context context,
                                                                    ^
  symbol:   class Context
  location: class TwilioVoiceReactNativeModule
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/StatsListenerProxy.java:11: error: package org.json does not exist
import org.json.JSONException;
               ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/StatsListenerProxy.java:31: error: cannot find symbol
  public StatsListenerProxy(String uuid, Context context, Promise promise) {
                                         ^
  symbol:   class Context
  location: class StatsListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/StatsListenerProxy.java:63: error: cannot find symbol
  private Object[] jsonWithLocalAudioTrackStats(List<LocalAudioTrackStats> audioTrackStatsList) throws JSONException {
                                                                                                       ^
  symbol:   class JSONException
  location: class StatsListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/StatsListenerProxy.java:85: error: cannot find symbol
  private Object[] jsonWithRemoteAudioTrackStats(List<RemoteAudioTrackStats> audioTrackStatsList) throws JSONException {
                                                                                                         ^
  symbol:   class JSONException
  location: class StatsListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/StatsListenerProxy.java:107: error: cannot find symbol
  private Object[] jsonWithIceCandidatePairStats(List<IceCandidatePairStats> iceCandidatePairStatsList) throws JSONException {
                                                                                                               ^
  symbol:   class JSONException
  location: class StatsListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/StatsListenerProxy.java:144: error: cannot find symbol
  private Object[] jsonWithIceCandidateStats(List<IceCandidateStats> iceCandidateStatsList) throws JSONException {
                                                                                                   ^
  symbol:   class JSONException
  location: class StatsListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceFirebaseMessagingService.java:8: error: package android.os does not exist
import android.os.PowerManager;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceFirebaseMessagingService.java:23: error: cannot access Service
public class VoiceFirebaseMessagingService extends FirebaseMessagingService implements MessageListener {
       ^
  class file for android.app.Service not found
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/CallListenerProxy.java:44: error: cannot find symbol
  private final Context context;
                ^
  symbol:   class Context
  location: class CallListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/CallListenerProxy.java:46: error: cannot find symbol
  public CallListenerProxy(UUID uuid, Context context) {
                                      ^
  symbol:   class Context
  location: class CallListenerProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:6: error: package android does not exist
import android.Manifest;
              ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:7: error: package android.app does not exist
import android.app.Activity;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:8: error: package android.content does not exist
import android.content.Intent;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:9: error: package android.content.pm does not exist
import android.content.pm.PackageManager;
                         ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:10: error: package android.os does not exist
import android.os.Build;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:11: error: package android.os does not exist
import android.os.Bundle;
                 ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:12: error: package android.view does not exist
import android.view.Window;
                   ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:13: error: package android.view does not exist
import android.view.WindowManager;
                   ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:23: error: cannot find symbol
  private final Activity context;
                ^
  symbol:   class Activity
  location: class VoiceActivityProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:30: error: cannot find symbol
  public VoiceActivityProxy(@NonNull Activity activity,
                                     ^
  symbol:   class Activity
  location: class VoiceActivityProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:35: error: cannot find symbol
  public void onCreate(Bundle ignoredSavedInstanceState) {
                       ^
  symbol:   class Bundle
  location: class VoiceActivityProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:52: error: cannot find symbol
  public void onNewIntent(Intent intent) {
                          ^
  symbol:   class Intent
  location: class VoiceActivityProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:78: error: cannot find symbol
  private void handleIntent(Intent intent) {
                            ^
  symbol:   class Intent
  location: class VoiceActivityProxy
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:8: error: package android.app does not exist
import android.app.Notification;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:9: error: package android.app does not exist
import android.app.PendingIntent;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:10: error: package android.content does not exist
import android.content.ContentResolver;
                      ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:13: error: package android.graphics does not exist
import android.graphics.Color;
                       ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:14: error: package android.media does not exist
import android.media.AudioAttributes;
                    ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:15: error: package android.net does not exist
import android.net.Uri;
                  ^
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:78: error: cannot find symbol
  public static Notification createIncomingCallNotification(@NonNull Context context,
                                                                     ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:78: error: cannot find symbol
  public static Notification createIncomingCallNotification(@NonNull Context context,
                ^
  symbol:   class Notification
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:123: error: cannot find symbol
  public static Notification createCallAnsweredNotificationWithLowImportance(@NonNull Context context,
                                                                                      ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:123: error: cannot find symbol
  public static Notification createCallAnsweredNotificationWithLowImportance(@NonNull Context context,
                ^
  symbol:   class Notification
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:160: error: cannot find symbol
  public static Notification createOutgoingCallNotificationWithLowImportance(@NonNull Context context,
                                                                                      ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:160: error: cannot find symbol
  public static Notification createOutgoingCallNotificationWithLowImportance(@NonNull Context context,
                ^
  symbol:   class Notification
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:197: error: cannot find symbol
  public static void createNotificationChannels(@NonNull Context context) {
                                                         ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:213: error: cannot find symbol
  public static void destroyNotificationChannels(@NonNull Context context) {
                                                          ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:218: error: cannot find symbol
  private static NotificationChannelCompat createNotificationChannel(@NonNull Context context,
                                                                              ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:247: error: cannot find symbol
  private static String getChannel(@NonNull Context context, @NonNull final String voiceChannelId) {
                                            ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:257: error: cannot find symbol
  private static PendingIntent constructPendingIntentForActivity(@NonNull Context context,
                                                                          ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:258: error: cannot find symbol
                                                                 @NonNull final Intent intent) {
                                                                                ^
  symbol:   class Intent
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:257: error: cannot find symbol
  private static PendingIntent constructPendingIntentForActivity(@NonNull Context context,
                 ^
  symbol:   class PendingIntent
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:266: error: cannot find symbol
  private static PendingIntent constructPendingIntentForService(@NonNull Context context,
                                                                         ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:267: error: cannot find symbol
                                                                @NonNull final Intent intent) {
                                                                               ^
  symbol:   class Intent
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:266: error: cannot find symbol
  private static PendingIntent constructPendingIntentForService(@NonNull Context context,
                 ^
  symbol:   class PendingIntent
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:276: error: cannot find symbol
    @NonNull Context context,
             ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:283: error: cannot find symbol
  static Uri provideResourceSilent_wav(@NonNull Context context) {
                                                ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:283: error: cannot find symbol
  static Uri provideResourceSilent_wav(@NonNull Context context) {
         ^
  symbol:   class Uri
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:287: error: cannot find symbol
  private static Uri provideResource(@NonNull Context context, int id) {
                                              ^
  symbol:   class Context
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:287: error: cannot find symbol
  private static Uri provideResource(@NonNull Context context, int id) {
                 ^
  symbol:   class Uri
  location: class NotificationUtility
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:36: error: cannot find symbol
    private final Context ctx;
                  ^
  symbol:   class Context
  location: class NotificationResource
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:39: error: cannot find symbol
    public NotificationResource(Context context, String smallIconId, String contentTextId) {
                                ^
  symbol:   class Context
  location: class NotificationResource
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:57: error: cannot find symbol
    @SuppressLint("DiscouragedApi")
     ^
  symbol:   class SuppressLint
  location: class NotificationResource
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/NotificationUtility.java:61: error: cannot find symbol
    @SuppressLint("DiscouragedApi")
     ^
  symbol:   class SuppressLint
  location: class NotificationResource
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/CallRecordDatabase.java:45: error: cannot access Parcelable
      this.callSid = callInvite.getCallSid();
                               ^
  class file for android.os.Parcelable not found
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceApplicationProxy.java:27: error: cannot find symbol
  private final ServiceConnection voiceServiceObserver = new ServiceConnection() {
                                                             ^
  symbol:   class ServiceConnection
  location: class VoiceApplicationProxy
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
100 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:56)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
        at org.gradle.jvm.toolchain.internal.DefaultToolchainJavaCompiler.execute(DefaultToolchainJavaCompiler.java:57)
        at org.gradle.api.tasks.compile.JavaCompile.lambda$createToolchainCompiler$1(JavaCompile.java:237)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:52)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:70)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:44)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:66)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:288)
        at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:170)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:148)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
        at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
        at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
        at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
        at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
        at org.gradle.internal.Either$Right.fold(Either.java:175)
        at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:102)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:209)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
        at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 3s
8 actionable tasks: 1 executed, 7 up-to-date
Watched directory hierarchies: []
mhuynh5757 commented 2 weeks ago

I see that some StackOverflow users are able to fix the android.content package not found issues by upgrading Gradle through the Android Gradle Plugin Upgrade Assistant in Android Studio. Have you given that a try?

culov commented 2 weeks ago

I see that some StackOverflow users are able to fix the android.content package not found issues by upgrading Gradle through the Android Gradle Plugin Upgrade Assistant in Android Studio. Have you given that a try?

I have not. I'm not really using Android Studio for anything except installing SDKs. I am using a relatively new version of gradle though: distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip

culov commented 2 weeks ago

One more stack trace that may be helpful. Here's what happens when I comment out these lines in the twilio library's build.gradle. It's effectively the same thing as if I were to switch to java VERSION_1_8.

  // compileOptions {
  //   sourceCompatibility versions.java
  //   targetCompatibility versions.java
  // }
Caching disabled for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac' because:
  Build cache is disabled
Task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac' is not up-to-date because:
  Task has failed previously.
The input changes require a full rebuild for incremental task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with toolchain '/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home'.
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/debug/java', not found
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/build/generated/aidl_source_output_dir/debug/out', not found
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/build/generated/renderscript_source_output_dir/debug/out', not found
Compiling with JDK Java compiler API.
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/JSEventEmitter.java:28: error: cannot find symbol
        context.get().hasActiveReactInstance()) {
                     ^
  symbol:   method hasActiveReactInstance()
  location: class ReactApplicationContext
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceService.java:353: error: cannot find symbol
    if (ActivityCompat.checkSelfPermission(VoiceService.this, Manifest.permission.POST_NOTIFICATIONS)
                                                                                 ^
  symbol:   variable POST_NOTIFICATIONS
  location: class permission
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/TwilioVoiceReactNativeModule.java:203: error: cannot find symbol
      (parsedTwimlParams.containsKey("to") && !(parsedTwimlParams.get("to").isBlank()))
                                                                           ^
  symbol:   method isBlank()
  location: class String
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:89: error: cannot find symbol
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S_V2) {
                                                   ^
  symbol:   variable S_V2
  location: class VERSION_CODES
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:92: error: cannot find symbol
        Manifest.permission.BLUETOOTH_CONNECT,
                           ^
  symbol:   variable BLUETOOTH_CONNECT
  location: class permission
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:93: error: cannot find symbol
        Manifest.permission.POST_NOTIFICATIONS };
                           ^
  symbol:   variable POST_NOTIFICATIONS
  location: class permission
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/VoiceActivityProxy.java:96: error: cannot find symbol
        Manifest.permission.RECORD_AUDIO, Manifest.permission.BLUETOOTH_CONNECT };
                                                             ^
  symbol:   variable BLUETOOTH_CONNECT
  location: class permission
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
7 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:56)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
        at org.gradle.jvm.toolchain.internal.DefaultToolchainJavaCompiler.execute(DefaultToolchainJavaCompiler.java:57)
        at org.gradle.api.tasks.compile.JavaCompile.lambda$createToolchainCompiler$1(JavaCompile.java:237)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:52)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:70)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:44)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:66)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:288)
        at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:170)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:148)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
        at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
        at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
        at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
        at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
        at org.gradle.internal.Either$Right.fold(Either.java:175)
        at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:102)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:209)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
        at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 3s
8 actionable tasks: 1 executed, 7 up-to-date
Watched directory hierarchies: []

It then overcomes the Android SDK not being visible to Twilio during the build. It runs into other issues - which I've also been unable to resolve when trying to fix those directly - but it at least gets over the android.content package not found somehow.

mhuynh5757 commented 2 weeks ago

Let's try the AGP Upgrade Assistant and see if that helps us to use Java 11 to build the app.

culov commented 2 weeks ago

Ok, using the AGP Upgrade assistant did the trick! Upgrading the buildToolsVersion and compileSdkVersion to 34, eliminated some other errors that came up. Now we're down to a single issue... which was the same issue that was preventing me from moving forward after manually changing the Java version to 1_8. Here's the stack trace again:

Caching disabled for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac' because:
  Build cache is disabled
Task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac' is not up-to-date because:
  Task has failed previously.
The input changes require a full rebuild for incremental task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
Transforming core-for-system-modules.jar with JdkImageTransform
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with toolchain '/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home'.
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/debug/java', not found
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/build/generated/aidl_source_output_dir/debug/out', not found
file or directory '/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/build/generated/renderscript_source_output_dir/debug/out', not found
Compiling with JDK Java compiler API.
/Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/JSEventEmitter.java:28: error: cannot find symbol
        context.get().hasActiveReactInstance()) {
                     ^
  symbol:   method hasActiveReactInstance()
  location: class ReactApplicationContext
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':twilio_voice-react-native-sdk:compileDebugJavaWithJavac'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:56)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
        at org.gradle.jvm.toolchain.internal.DefaultToolchainJavaCompiler.execute(DefaultToolchainJavaCompiler.java:57)
        at org.gradle.api.tasks.compile.JavaCompile.lambda$createToolchainCompiler$1(JavaCompile.java:237)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:52)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:70)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:44)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:66)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:288)
        at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:170)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:148)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
        at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
        at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
        at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
        at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
        at org.gradle.internal.Either$Right.fold(Either.java:175)
        at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:102)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:209)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
        at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 3s
mhuynh5757 commented 2 weeks ago

Are you seeing this issue with Java 11 or Java 8?

culov commented 2 weeks ago

Compiling with JDK Java compiler API. /Users/me/Desktop/projects/my-project/node_modules/@twilio/voice-react-native-sdk/android/src/main/java/com/twiliovoicereactnative/JSEventEmitter.java:28: error: cannot find symbol context.get().hasActiveReactInstance()) { ^ symbol: method hasActiveReactInstance() location: class ReactApplicationContext Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 1 error

Both. I think the problem here is hasActiveReactInstance wasn't added until RN 0.66. So there's a hard minimum version requirement. Is there any workaround that doesn't require an upgrade to RN 0.66?

mhuynh5757 commented 2 weeks ago

I asked the Java expert on the team his opinion on the matter, but in the meantime I would like to point out the supported React Native versions: https://reactnative.dev/versions

It notes that the latest "unarchived" versions of the framework are >= 0.70, and I'm sure you're already aware.

I totally understand the reprehension with upgrading React Native versions, it's a lot of work, I've experienced that personally while working on this project haha.

culov commented 2 weeks ago

Thanks! I upgraded RN, and that resolved the initial issue.