EAS Build error: SDK 41 Manifest merger failed : Attribute data@scheme at AndroidManifest.xml requires a placeholder substitution"

When running eas build for Android, the build is failing due to a manifest merger issue. Since I am in the Expo managed workflow (and don’t want to use Expo build to avoid publishing), I don’t have the AndroidManifest.xml file to make the scheme adjustments. Scheme is set in the app.json under the expo key…do I need to add another placeholder somewhere else for EAS to pick up on it for the build?

Expo CLI 4.8.1 environment info:
System:
OS: macOS 11.3.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.15.3 - /usr/local/bin/node
Yarn: 1.22.11 - /usr/local/bin/yarn
npm: 7.5.2 - /usr/local/bin/npm
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 30
Build Tools: 30.0.3, 31.0.0
System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.7042882
Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
npmPackages:
expo: ^41.0.0 => 41.0.1
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz => 0.63.2
react-native-web: ~0.13.12 => 0.13.18
npmGlobalPackages:
expo-cli: 4.8.1
Expo Workflow: managed

hi! what expo sdk packages do you use? I believe this is coming from expo-app-auth, and has been resolved in sdk 42

I am currently on SDK 41. Is there a known manual fix for this? I should note that the app compiles just fine locally, and builds correctly with Expo Build, just not EAS.

indeed, my above comment applies. by expo sdk packages i mean what is in your package.json

@notbrent here is the 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-google-fonts/bebas-neue": "^0.1.0",
    "@expo-google-fonts/inter": "^0.1.0",
    "@expo-google-fonts/montserrat": "^0.1.0",
    "@react-native-async-storage/async-storage": "^1.13.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "6.0.0",
    "@react-native-community/slider": "3.0.3",
    "@react-native-picker/picker": "1.9.11",
    "@react-navigation/bottom-tabs": "^5.11.2",
    "@react-navigation/material-top-tabs": "^5.3.15",
    "@react-navigation/native": "^5.8.10",
    "@react-navigation/stack": "^5.12.8",
    "axios": "^0.21.1",
    "base-64": "^0.1.0",
    "expo": "^41.0.0",
    "expo-auth-session": "~3.2.3",
    "expo-av": "~9.1.2",
    "expo-cli": "^4.0.17",
    "expo-firebase-analytics": "~4.0.2",
    "expo-font": "~9.1.0",
    "expo-keep-awake": "~9.1.2",
    "expo-notifications": "~0.11.6",
    "expo-permissions": "~12.0.1",
    "expo-random": "~11.1.2",
    "expo-secure-store": "~10.1.0",
    "expo-updates": "~0.5.4",
    "expo-web-browser": "~9.1.0",
    "firebase": "8.2.3",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
    "react-native-app-auth": "^6.3.0",
    "react-native-bouncy-checkbox": "^2.1.3",
    "react-native-chart-kit": "^6.11.0",
    "react-native-gesture-handler": "~1.10.2",
    "react-native-keyboard-aware-scroll-view": "^0.9.1",
    "react-native-pager-view": "^5.4.0",
    "react-native-reanimated": "~2.1.0",
    "react-native-safe-area-context": "3.2.0",
    "react-native-screens": "~3.0.0",
    "react-native-svg": "12.1.0",
    "react-native-tab-view": "^3.0.1",
    "react-native-web": "~0.13.12",
    "react-native-webview": "11.2.3",
    "sentry-expo": "^3.1.0"
  },
  "devDependencies": {
    "@babel/core": "~7.9.0",
    "babel-preset-expo": "8.3.0"
  },
  "private": true
}

update to sdk 42 and let me know if that resolves your issue.

oh, another thing you can try - remove react-native-app-auth – you can’t use this in expo go and so i doubt you’re using it in your app. it’s probably the cause of this error.

I actually tried the sdk42 update yesterday and it broke a lot of things for me. I’ll need more time to get that set up properly. I’ll give the remove a try and report back. Thank you!

remove react-native-app-auth and let me know how that goes

Confirmed. This resolved the build issue. Thank you!

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