Android build error (google services?)

Getting this error when trying to build on Android, under “running gradle”:

Parallel execution with configuration on demand is an incubating feature.
> Configure project :app
AWS Device Farm Plugin version 1.3
Installing unimodules:
 unimodules-core@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/@unimodules/core
 unimodules-react-native-adapter@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/@unimodules/react-native-adapter
 expo-ads-admob@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-ads-admob
 expo-ads-facebook@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-ads-facebook
 expo-analytics-amplitude@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-analytics-amplitude
 expo-analytics-segment@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-analytics-segment
 expo-app-auth@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-app-auth
 expo-app-loader-provider@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-app-loader-provider
 expo-application@1.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-application
 expo-av@7.0.1 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-av
 expo-background-fetch@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-background-fetch
 expo-barcode-scanner@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-barcode-scanner
 expo-battery@1.0.1 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-battery
 expo-brightness@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-brightness
 expo-calendar@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-calendar
 expo-camera@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-camera
 expo-cellular@1.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-cellular
 expo-constants@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-constants
 expo-contacts@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-contacts
 expo-crypto@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-crypto
 expo-device@1.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-device
 expo-document-picker@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-document-picker
 expo-face-detector@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-face-detector
 expo-facebook@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-facebook
 expo-file-system@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-file-system
 expo-font@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-font
 expo-gl-cpp@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-gl-cpp
 expo-gl@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-gl
 expo-google-sign-in@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-google-sign-in
 expo-haptics@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-haptics
 expo-image-manipulator@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-image-manipulator
 expo-image-picker@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-image-picker
 expo-intent-launcher@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-intent-launcher
 expo-keep-awake@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-keep-awake
 expo-linear-gradient@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-linear-gradient
 expo-local-authentication@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-local-authentication
 expo-localization@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-localization
 expo-location@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-location
 expo-mail-composer@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-mail-composer
 expo-media-library@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-media-library
 expo-network@1.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-network
 expo-permissions@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-permissions
 expo-print@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-print
 expo-random@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-random
 expo-secure-store@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-secure-store
 expo-sensors@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-sensors
 expo-sharing@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-sharing
 expo-sms@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-sms
 expo-speech@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-speech
 expo-sqlite@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-sqlite
 expo-task-manager@7.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-task-manager
 expo-video-thumbnails@3.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-video-thumbnails
 expo-web-browser@7.0.1 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/expo-web-browser
 unimodules-barcode-scanner-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-barcode-scanner-interface
 unimodules-camera-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-camera-interface
 unimodules-constants-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-constants-interface
 unimodules-face-detector-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-face-detector-interface
 unimodules-file-system-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-file-system-interface
 unimodules-font-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-font-interface
 unimodules-image-loader-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-image-loader-interface
 unimodules-permissions-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-permissions-interface
 unimodules-sensors-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-sensors-interface
 unimodules-task-manager-interface@4.0.0 from /app/turtle/workingdir/android/sdk35/android-shell-app/enabled-modules/unimodules-task-manager-interface
Could not find google-services.json while looking in [src/nullnull/debug, src/debug/nullnull, src/nullnull, src/debug, src/nullnullDebug]
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
WARNING: API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getAssemble(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessManifest(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getPackageApplication(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getExternalNativeBuildTasks(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Could not find google-services.json while looking in [src/nullnull/release, src/release/nullnull, src/nullnull, src/release, src/nullnullRelease]
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
> Task :app:preBuild UP-TO-DATE
> Task :app:extractProguardFiles
> Task :app:preReleaseBuild
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:compileReleaseRenderscript
> Task :app:checkReleaseManifest
> Task :app:generateReleaseBuildConfig
> Task :app:mergeReleaseShaders
> Task :app:compileReleaseShaders
> Task :app:generateReleaseAssets
> Task :app:mergeReleaseAssets
> Task :app:processReleaseGoogleServices
Parsing json file: /app/turtle/workingdir/android/sdk35/android-shell-app/app/google-services.json
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:mainApkListPersistenceRelease
> Task :app:processReleaseManifest
/app/turtle/workingdir/android/sdk35/android-shell-app/app/src/main/AndroidManifest.xml:18:9-27:20 Warning:
	provider#expo.modules.filesystem.FileSystemFileProvider@android:authorities was tagged at AndroidManifest.xml:18 to replace other declarations but no other declaration present
> Task :app:fabricGenerateResourcesRelease
> Task :app:prepareLintJar
> Task :app:generateReleaseSources
> Task :app:javaPreCompileRelease
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
[stderr] AAPT2 aapt2-3.3.2-5309881-linux Daemon #4: Unexpectedly exit.
> Task :app:mergeReleaseResources FAILED
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:mergeReleaseResources'.
[stderr] > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.3.2-5309881-linux Daemon #0: Unexpected error during compile '/app/turtle/workingdir/android/sdk35/android-shell-app/app/src/main/res/mipmap-mdpi/ic_launcher.png', attempting to stop daemon.
[stderr]   This should not happen under normal circumstances, please file an issue if it does.
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug
[stderr]  option to get more log output. Run with 
[stderr] --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 1m 0s
17 actionable tasks: 17 executed
Error: ./gradlew exited with non-zero code: 1
    at ChildProcess.completionListener (/app/turtle/node_modules/@expo/xdl/node_modules/@expo/spawn-async/build/spawnAsync.js:52:23)
    at Object.onceWrapper (events.js:317:30)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:915:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
    ...
    at spawnAsync (/app/turtle/node_modules/@expo/xdl/node_modules/@expo/spawn-async/build/spawnAsync.js:17:21)
    at spawnAsyncThrowError (/app/turtle/node_modules/@expo/xdl/build/detach/ExponentTools.js:233:45)
    at buildShellAppAsync (/app/turtle/node_modules/@expo/xdl/build/detach/AndroidShellApp.js:812:11)
    at <anonymous>

I made sure to include the google services file in the root directory and its path in “android.googleServicesFile” in our app.json

Our google-services file with strings scrubbed out:

Diagnostics:

  Expo CLI 3.3.0 environment info:
    System:
      OS: macOS 10.14.6
      Shell: Unknown - /usr/local/bin/fish
    Binaries:
      Node: 12.6.0 - /usr/local/bin/node
      Yarn: 1.17.3 - /usr/local/bin/yarn
      npm: 6.11.3 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    IDEs:
      Android Studio: 3.3 AI-182.5107.16.33.5199772
      Xcode: 10.3/10G8 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^35.0.0 => 35.0.0 
      react: 16.8.3 => 16.8.3 
      react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8 
      react-navigation: ^4.0.7 => 4.0.7 
    npmGlobalPackages:
      expo-cli: 3.3.0

Hey @raphaelrk,

Are you still receiving this error? One thing you could try is to create a fresh project quickly and try to run expo build:android to see if the error occurs in a new project as well.

Cheers,
Adam

Retried with without creating a fresh project and got the same errors

Created a fresh project and copied my code over and got the error again: link

Updated diagnostics:

  Expo CLI 3.4.0 environment info:
    System:
      OS: macOS 10.14.6
      Shell: Unknown - /usr/local/bin/fish
    Binaries:
      Node: 12.6.0 - /usr/local/bin/node
      Yarn: 1.17.3 - /usr/local/bin/yarn
      npm: 6.12.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    IDEs:
      Android Studio: 3.3 AI-182.5107.16.33.5199772
      Xcode: 10.3/10G8 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^35.0.0 => 35.0.0 
      react: 16.8.3 => 16.8.3 
      react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8 
      react-navigation: ^4.0.7 => 4.0.10 
    npmGlobalPackages:
      expo-cli: 3.4.0

Edit After re-reading your post changing node versions will likely not fix since this happens during a build.

I see you’re on node version 12.6. Try downgrading (I personally use nvm so I can change node/npm versions at will).

Although not the same error, I experienced an issue during the opt-in cli workflow and downgrading node fixed things for me.

Still running into this issue

Latest build: link

Diagnostics:

  Expo CLI 3.4.1 environment info:
    System:
      OS: macOS 10.14.6
      Shell: Unknown - /usr/local/bin/fish
    Binaries:
      Node: 12.6.0 - /usr/local/bin/node
      Yarn: 1.17.3 - /usr/local/bin/yarn
      npm: 6.12.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    IDEs:
      Android Studio: 3.3 AI-182.5107.16.33.5199772
      Xcode: 10.3/10G8 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^35.0.0 => 35.0.0 
      react: 16.8.3 => 16.8.3 
      react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8 
      react-navigation: ^4.0.7 => 4.0.7 
    npmGlobalPackages:
      expo-cli: 3.4.1

Hi

This seems to be complaining about an image.

Maybe see if changing the images leads you to a resolution :man_shrugging: