EAS build on android failed but no issue with IOS.

I have error while prepare to build android, i have no issues with IOS.
I also tried to downgrade version but still not work. Im running on MacOS.

here is sample of error on web console.
[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

2[stderr]

tar: assets/Icons/SVG: Cannot mkdir: Permission denied

3[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

4[stderr]

tar: assets/Icons/PNG/Apple.png: Cannot open: No such file or directory

5[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

6[stderr]

tar: assets/Icons/PNG/Arrow 2 Right White.png: Cannot open: No such file or directory

7[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

8[stderr]

tar: assets/Icons/PNG/Arrow 2 Right.png: Cannot open: No such file or directory

9[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

10[stderr]

tar: assets/Icons/PNG/Arrow Left.png: Cannot open: No such file or directory

11[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

12[stderr]

tar: assets/Icons/PNG/Arrow Right.png: Cannot open: No such file or directory

13[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

14[stderr]

tar: assets/Icons/PNG/Cart.png: Cannot open: No such file or directory

15[stderr]

tar: assets/Icons/PNG: Cannot mkdir: Permission denied

Not sure what is the issue. Thanks in advance.

Hi @xriyell

What command did you run? I assume something like eas build -p android?

Which part of the build logs do you see those errors in? e.g. “Install dependencies” or “Run gradlew” etc.

Can you paste the part of the logs before those errors?

Does your project have files like the following (with the exact upper/lowercase letters)?

assets/Icons/PNG/Apple.png
assets/Icons/PNG/Arrow 2 Right White.png
assets/Icons/PNG/Arrow Left.png
assets/Icons/PNG/Arrow Right.png
assets/Icons/PNG/Cart.png

My initial thoughts are that it might have something to do with macOS having a case-insensitive filesystem by default, while Linux is case-sensitive, but not sure exactly how it would result in the above errors.

EDIT: Just remembered something:
Please check that you use matching case for the actual file/directory names and the JavaScript code that references them. e.g. you can’t have a file called assets/icons/png/apple.png that you refer to in JavaScript using require('assets/Icons/PNG/Apple.png');

Hi @wodin ,

  1. Yes, im using eas build -p android. But for IOS, im using eas build -p ios no issue at all. But for android the build failed and the error as above.

  2. The logs is from expo.dev build logs. Im using the cloud builder worker. I dont know why it wont work on eas, i just migrate from expo build.

  3. Double checked, confirmed follow the case sensitive.

Thanks and regards

  • Helmi

Yes, but which section?

Please run this:

git ls-tree -r --name-only HEAD | grep -i "arrow 2 right white"

and then this:

git grep -i "arrow 2 right white"

and paste the output here.

Hi, sorry for late reply.

  1. “Prepare Project” Section

  2. Here is the ouput

assets/Icons/PNG/Arrow 2 Right White.png
assets/Icons/SVG/Arrow 2 Right White.svg
  1. Here the output
assets/Icons/SVG/Arrow 2 Right White.svg:  <g id="Arrow_2_Right_White" data-name="Arrow 2 Right White" transform="translate(-0.5 -6.086)">

Hi again

hmmm… How are you building the app? Is it with expo build:android? Have you tried eas build -p android --profile ...?

Also, what Expo SDK version are you using?