Despite EXPO GO being a good development platform, as it allows you to create applications for Android, iOS, and the web with the same codebase, it also has some limitations, such as performing social login through Google. Until very recently, adding social login to applications developed with EXPO GO was quite straightforward. However, Google's security updates now require you to add custom native code to incorporate this into your application. package Now, it requires you to build the Android version of your EXPO GO application, and within this build, make some native adaptations for this package to work. A guide that usually resolves the use of Google login when there are no issues would be helpful in this situation. https://www.youtube.com/watch?v=vojHmGUGUGc&t=330s&ab_channel=Supabase&embedable=true And it is at this point that you may begin to encounter some . issues ANDROID: “ ” BUG! exception in phase 'semantic analysis' in source unit 'BuildScript' Unsupported class file major version 65. This is typically due to compatibility problems between the versions of JDK, Gradle, and Kotlin that you may be using. Here are tables that will help you compare the versions being used. To determine your Java version, use the command , which will display the Java versions currently in use (there might be more than one). Additionally, the command shows the installed and system-used Java version. Here are examples: java --version /usr/libexec/java_home -V If you have multiple versions installed, you can go to each repository and execute to delete the version. sudo rm -fr (jdk version) As for the command, it shows the installed version of Gradle on the system. It's important to note that this version is not directly linked to the version you specify during the application build process. gradle -version For example, with version 8.4 installed, you can specify that the application should be built with any version older than it. This command is also useful as it provides information about the Kotlin versions and some additional details. As mentioned, the Gradle version used to build your project is the one you specify in the file by adding the correct classpath in the file. In my case, I was using: gradle/wrapper/gradle-wrapper.properties android/build.gradle distributionUrl=https\\://services.gradle.org/distributions/gradle-8.0.1-all.zip With that said, to , the simplest way is to use , a tool for versions used by the system. organize versions more efficiently SDKMAN managing installed JDK In my case, the ideal JDK version was 17.0.9, with Gradle 8.0.1, and Kotlin 1.8.10. To achieve this, I went through the process of removing all JDK versions from my machine. Using SDKMAN, I installed the desired version and set it as the active version, all through the terminal. After that, I returned to the application to verify that the file contained and ensured that was set to 1.8.10. android/build.gradle distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip buildscript.ext.kotlinVersion Additionally, I checked that was present in . classpath('org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10') buildscript.dependencies With this, I overcame the issue with the error " ." BUG! exception in phase 'semantic analysis' in source unit 'BuildScript' Unsupported class file major version 65 iOS When attempting to build without changing any other configurations, I encountered the problem: " ." RNGoogleSignin: failed to determine clientID - GoogleService-Info.plist was not found, and iosClientId was not provided This text assumes your OAuth 2.0 configuration is already correct, so we haven't delved into creating IDs, etc. However, might help you configure OAuth. this tutorial Assuming the ID is correct, created for both iOS and Android, this error is directly related to the application's Client ID. The steps to make GoogleSignIn work on iOS are simple. Build the application on iOS using . Inside the file, add . npx run: ios ios/Podfile pod 'GoogleSignIn’ Inside the file, add: app.json Check if the ios/APP_NAME/info.plist had: In the component (inside EXPO GO), created to perform login through GoogleSignIn, ensure that you also add the . iOS client ID After making these configurations, you might encounter the error . This can be resolved with the following commands: commandError: Failed to build iOS project. "xcodebuild" exited with error code 65 cd ios pod install cd .. npx expo run: ios Essentially, this was my journey to resolve configuration issues in my environment and application to successfully add GoogleSignIn to my EXPO GO project. Below, I'll list the main links that helped me in discovering and resolving this issue: https://github.com/react-native-google-signin/google-signin https://stackoverflow.com/questions/68597899/bug-exception-in-phase-semantic-analysis-in-source-unit-buildscript-unsup https://stackoverflow.com/questions/5124368/gradle-doesnt-work-in-intellij-problems-with-java-home https://unix.stackexchange.com/questions/21689/how-to-find-path-where-jdk-installed https://stackoverflow.com/questions/30054911/how-to-determine-the-version-of-gradle https://stackoverflow.com/questions/76823607/how-to-uninstall-version-of-openjdk https://medium.com/@sandeep11/how-to-install-gradle-and-java-jdk17-on-latest-macos-2023-ad4236d2be19 https://www.oracle.com/in/java/technologies/downloads/#java17 https://stackoverflow.com/questions/34005713/difference-between-clean-gradlew-clean https://medium.com/pragmatic-programmers/classpath-dependencies-3514e5497a54 https://market.nativescript.org/plugins/@nativescript/google-signin/ Other Issues May Also Arise. :expo-modules-core' could not be found in the project compileDebugKotlin FAILED The legacy expo-cli does not support Node +17. Migrate to the versioned Expo CLI Expo-modules-corecompiledebugkotlin The binary version of its metadata is 1.8.0, the expected version is 1.6.0 Android build failures No matching variant of com.facebook.react:react-native:0.71.0-rc.0 was found. react-native-gradle-plugin:compileKotlin FAILED The Kotlin Gradle plugin was loaded multiple times in different subprojects