I'm getting error Standalone build failed!

My using hd quality 1024x1024 png image but still getting this issue even application is not compile in ios and giving this error:

Your application icon can’t have transparency if you wish to upload your app to Apple Store.

I have complete check my application but its fine.

> Task :app:mergeProdKernelReleaseResources FAILED
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:mergeProdKernelReleaseResources'.
[stderr] > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
[stderr]   Output:  /app/turtle/workingdir/android/sdk32/android-shell-app/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png: error: failed to read PNG signature: file does not start with PNG signature.
[stderr]   
[stderr]   Command: /root/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.1-4818971-linux.jar/86f0959622145d3be808625a1d88d51d/aapt2-3.2.1-4818971-linux/aapt2 compile --legacy \
[stderr]           -o \
[stderr]           /app/turtle/workingdir/android/sdk32/android-shell-app/app/build/intermediates/res/merged/prodKernel/release \
[stderr]           /app/turtle/workingdir/android/sdk32/android-shell-app/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png
[stderr]   Daemon:  AAPT2 aapt2-3.2.1-4818971-linux Daemon #5
[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 29s
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:801:11)
    at <anonymous>

even i didn’t found shell_launch_background_image.png in complete project folder

its fixed in android but still getting error in ios build

Your application icon can’t have transparency if you wish to upload your app to Apple Store

Hi.

How did you fix it in Android and can you please post the full error you’re getting for iOS?

Can you check the image pointed to by the “icon” option in app.json to see if it has any transparency? You should be able to use the file command to check this if you are on a Mac. e.g.:

$ file transparent.png solid.png 
transparent.png: PNG image data, 640 x 400, 8-bit/color RGBA, non-interlaced
solid.png:       PNG image data, 640 x 400, 8-bit/color RGB, non-interlaced

As you can see, the transparent.png says it is an RGBA image, while the non-transparent one says RGB. The A stands for “alpha” and means that it has a transparent channel.

If I try the following on my app I see that all PNGs have an alpha channel except the app icon.

find . -path './node_modules*' -prune -o \( -type f -iname '*.png' -print0 \) | xargs -0 file

Since it’s working for you on Android perhaps you will not be interested in the following, but it looks to me like shell_launch_background_image.png is where Expo saves the splash screen image for the Android version of the app.

I’m using windows thanks for you answer i checked my images its png with alpha now i create in jpg its work now
and now I’m running expo build:ios

getting this error

Trying to authenticate with Apple Developer Portal...
Authentication with Apple Developer Portal failed!
bash exited with non-zero code: 127

my package.json file


{
  "expo": {
    "name": "Atcatat",
    "description": "Atcatat - store",
    "slug": "mstore-multivendor",
    "privacy": "public",
    "sdkVersion": "32.0.0",
    "version": "1.4",
    "orientation": "portrait",
    "primaryColor": "#cccccc",
    "icon": "./assets/icons/app.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "cover"
    },
    "packagerOpts": {
      "assetExts": [
        "ttf",
        "mp4"
      ]
    },
    "assetBundlePatterns": [
      "assets/**/*"
    ],
    "ios": {
      "bundleIdentifier": "com.atcatat.store",
      "supportsTablet": true
    },
    "android": {
      "package": "com.atcatat.store.andr",
      "versionCode": 3,
      "permissions": []
    }
  },
  "updates": {
    "fallbackToCacheTimeout": 0,
    "checkAutomatically": "ON_LOAD"
  }
}

I see you’re using WSL, so the file command should work fine at the bash prompt too if you need it in future.

According to the bash documentation:

       If  a  command  is  not  found, the child process created to execute it
       returns a status of 127.[...]

The “Trying to authenticate” message is logged here. After that it calls fastlane’s runAction function. Most of the code in that fastlane file is for being able to run fastlane on WSL. runAction first tries to figure out what command to run and then calls spawnAsync which should execute traveling-fastlane-linux's authenticate script. This is a bash script that executes a ruby script.

Since you’re getting a 127 exit status from bash it seems that bash cannot find the ruby interpreter. I don’t have much experience with WSL so I don’t know if ruby is installed by default. You could try running dpkg -l "ruby*" | grep ^ii to see if a version of ruby is installed. If not you could try running apt install ruby.

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