eas build error on both IOS and Android with different message

  • Managed workflow
  • eas-cli version: “version”: “>= 0.47.0”
  • expo version: “^44.0.0”

Currently I tried to build with “eas build” then select build to “All” platform but both of iOS and Android occured error on Run Fastlane and Run gradlew.

I tried build with classic build “expo build:android” and it is successfully, but “expo build:ios” still got error.

To troubleshoot the problem, I tried to new a empty project with expo init and build agian, everything works fine. So I believe that is my project problem, maybe node_modules…but I’m not sure where is the problem.

The error as below:
For iOS build Fastlane,

 Copying   PolyUWellFit.swiftmodule/arm64-apple-ios.swiftdoc ➜ PolyUWellFit.build/Objects-normal/arm64/PolyUWellFit.swiftdoc
› Copying   PolyUWellFit.build/DerivedSources/PolyUWellFit-Swift.h ➜ PolyUWellFit.build/Objects-normal/arm64/PolyUWellFit-Swift.h
› Compiling PolyUWellFit » main.m
› Compiling PolyUWellFit » PolyUWellFit_vers.c
› Compiling PolyUWellFit » AppDelegate.m

⚠️  (../../../../React/RCTNativeAnimatedNodesManager.h:19:41)

                      surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter;
                                        ^ pointer is missing a nullability type specifier [-Wnullability-completeness]
› Linking   PolyUWellFit » PolyUWellFit
❌  duplicate symbol '_OBJC_CLASS_$_EXReactNativeUserNotificationCenterProxy' in
┌─ libEXPermissions.a(EXReactNativeUserNotificationCenterProxy.o)
└─ libExpoModulesCore.a(EXReactNativeUserNotificationCenterProxy.o)
❌  duplicate symbol '_OBJC_METACLASS_$_EXReactNativeUserNotificationCenterProxy' in
┌─ libEXPermissions.a(EXReactNativeUserNotificationCenterProxy.o)
└─ libExpoModulesCore.a(EXReactNativeUserNotificationCenterProxy.o)

❌  ld: 7 duplicate symbols for architecture arm64


❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

▸ ** ARCHIVE FAILED **
▸ The following build commands failed:
▸ 	Ld /Users/expo/Library/Developer/Xcode/DerivedData/PolyUWellFit-bmueebpslxhfhwfkuabalutdkqkz/Build/Intermediates.noindex/ArchiveIntermediates/PolyUWellFit/InstallationBuildProductsLocation/Applications/PolyUWellFit.app/PolyUWellFit normal (in target 'PolyUWellFit' from project 'PolyUWellFit')
▸ (1 failure)
** ARCHIVE FAILED **
The following build commands failed:
	Ld /Users/expo/Library/Developer/Xcode/DerivedData/PolyUWellFit-bmueebpslxhfhwfkuabalutdkqkz/Build/Intermediates.noindex/ArchiveIntermediates/PolyUWellFit/InstallationBuildProductsLocation/Applications/PolyUWellFit.app/PolyUWellFit normal (in target 'PolyUWellFit' from project 'PolyUWellFit')
(1 failure)
Exit status: 65

For Andriod build gradlew,

> Task :unimodules-task-manager-interface:extractDeepLinksRelease
> Task :unimodules-task-manager-interface:processReleaseManifest
> Task :app:processReleaseMainManifest FAILED
[:react-native-reanimated] /home/expo/workingdir/build/node_modules/react-native-reanimated/android/build/intermediates/library_manifest/release/AndroidManifest.xml Warning:
	Package name 'com.swmansion.reanimated' used in: :react-native-reanimated, react-native-reanimated-64-jsc.aar.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
[stderr] /home/expo/workingdir/build/android/app/src/main/AndroidManifest.xml Error:
[stderr] 	Attribute data@scheme at AndroidManifest.xml requires a placeholder substitution but no value for <appAuthRedirectScheme> is provided.
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:processReleaseMainManifest'.
[stderr] > Manifest merger failed with multiple errors, see logs
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 4m 34s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.9/userguide/command_line_interface.html#sec:command_line_warnings
283 actionable tasks: 283 executed
Error: Gradle build failed with unknown error. Please see logs for the "Run gradlew" phase.

Hey @maxcch.c, can you share your package.json?

{
	"main": "node_modules/expo/AppEntry.js",
	"scripts": {
		"start": "expo start",
		"android": "expo start --android",
		"ios": "expo start --ios",
		"web": "expo start --web",
		"eject": "expo eject"
	},
	"dependencies": {
		"expo-font": "~10.0.4",
		"@expo/vector-icons": "^12.0.0",
		"@react-native-async-storage/async-storage": "~1.15.0",
		"@react-native-community/datetimepicker": "4.0.0",
		"@react-navigation/drawer": "^6.1.7",
		"@react-navigation/material-top-tabs": "^6.0.2",
		"@react-navigation/native": "^6.0.2",
		"@react-navigation/native-stack": "^6.1.0",
		"axios": "^0.22.0",
		"azure-ad-graph-expo": "^2.1.0",
		"expo": "^44.0.0",
		"expo-app-loading": "~1.3.0",
		"expo-auth-session": "~3.5.0",
		"expo-calendar": "~10.1.0",
		"expo-jwt": "^1.4.1",
		"expo-linear-gradient": "~11.0.3",
		"expo-random": "~12.1.1",
		"expo-secure-store": "~11.1.0",
		"expo-status-bar": "~1.2.0",
		"expo-updates": "~0.11.6",
		"expo-web-browser": "~10.1.0",
		"moment": "^2.29.1",
		"popup-ui": "^1.2.2",
		"react": "17.0.1",
		"react-dom": "17.0.1",
		"react-native": "0.64.3",
		"react-native-app-auth": "^6.4.0",
		"react-native-awesome-alerts": "^1.5.2",
		"react-native-elements": "^3.4.2",
		"react-native-fast-image": "^8.3.7",
		"react-native-gesture-handler": "~2.1.0",
		"react-native-image-overlay": "^0.1.2",
		"react-native-image-slider-box": "^1.1.5",
		"react-native-loading-spinner-overlay": "^2.0.0",
		"react-native-modal": "^13.0.0",
		"react-native-paper": "^4.9.2",
		"react-native-qrcode-svg": "^6.1.0",
		"react-native-reanimated": "~2.3.1",
		"react-native-safe-area-context": "3.3.2",
		"react-native-screens": "~3.10.1",
		"react-native-snap-carousel": "^3.9.1",
		"react-native-svg": "12.1.1",
		"react-native-tab-view": "^3.1.1",
		"react-native-toast-message": "^1.6.0",
		"react-native-web": "0.17.1",
		"react-native-webview": "11.15.0",
		"react-native-youtube-iframe": "^2.1.2",
		"react-query": "^3.34.7"
	},
	"devDependencies": {
		"@babel/core": "^7.12.9"
	},
	"private": true
}

Hi @maxcch.c

I’ve created a new, blank app with expo init and copied your dependencies into the package.json. I tried building for Android and got a similar error to you.

The error seems to have something to do with an auth redirect URL, so I checked your dependencies for authentication libraries. I found react-native-app-auth, so I had a look at that.

This library is not compatible with Expo out of the box. It needs a Config Plugin. There does not appear to be one packaged with the library itself, so you’d need to write one (or convince the authors to do it.)

If you look at the Android instructions, you’ll notice there’s something about adding appAuthRedirectScheme to build.gradle. That ties in with the error message. So it seems the error is just complaining that there has not been a appAuthRedirectScheme added to the build.gradle.

There are two ways to add appAuthRedirectScheme to build.gradle

  1. Write a config plugin to do it
  2. Eject to the bare workflow and add it manually

You could also perhaps try Expo’s AuthSession instead of react-native-app-auth.

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.