expo / eas-cli

Fastest way to build, submit, and update iOS and Android apps
https://docs.expo.dev/eas/
MIT License
789 stars 82 forks source link

local android eas build failing due to Build-Tools 30.0.3 linux arm #1822

Open magbicaleman opened 1 year ago

magbicaleman commented 1 year ago

Build/Submit details page URL

local

Summary

From my understanding Build-Tools 30.0.3 is dependent on the emulator package which does not have a version available for linux arm, but later versions of build-tools do not have this dependency, is there a way to bump the version?

Managed or bare?

Managed

Environment

npx expo-env-info
  expo-env-info 1.0.5 environment info:
    System:
      OS: Linux 5.10 Ubuntu 22.04.1 LTS 22.04.1 LTS (Jammy Jellyfish)
      Shell: 5.1.16 - /bin/bash
    Binaries:
      Node: 16.20.0 - ~/.local/state/fnm_multishells/157_1683229136757/bin/node
      Yarn: 1.22.19 - /usr/bin/yarn
      npm: 8.19.4 - ~/.local/state/fnm_multishells/157_1683229136757/bin/npm
    SDKs:
      Android SDK:
        API Levels: 33
    npmPackages:
      babel-preset-expo: ^9.3.0 => 9.3.2 
      expo: ^48.0.10 => 48.0.10 
      react: 18.2.0 => 18.2.0 
      react-dom: 18.2.0 => 18.2.0 
      react-native: 0.71.7 => 0.71.7 
      react-native-web: ~0.18.10 => 0.18.12 
    npmGlobalPackages:
      eas-cli: 3.10.2
      expo-cli: 6.3.7
    Expo Workflow: managed
npx expo-doctor
✔ Validating global prerequisites versions passed
✔ Checking for incompatible packages passed
✔ Checking for conflicting global packages in project passed
✔ Verifying prebuild support package versions are compatible passed
✔ Checking dependency versions for compatibility with the installed Expo SDK passed
✔ Validating Expo Config passed
✔ Checking package.json for common issues passed

Didn't find any issues with the project!

Error output

[RUN_GRADLEW] Warning: Dependant package with key emulator not found!
[RUN_GRADLEW] Checking the license for package Android SDK Platform 33 in /home/jenkins/android_sdk/licenses
[RUN_GRADLEW] License for package Android SDK Platform 33 accepted.
[RUN_GRADLEW] Preparing "Install Android SDK Platform 33 (revision: 2)".
[RUN_GRADLEW] "Install Android SDK Platform 33 (revision: 2)" ready.
[RUN_GRADLEW] Installing Android SDK Platform 33 in /home/jenkins/android_sdk/platforms/android-33
[RUN_GRADLEW] "Install Android SDK Platform 33 (revision: 2)" complete.
[RUN_GRADLEW] "Install Android SDK Platform 33 (revision: 2)" finished.
[RUN_GRADLEW] 5 actionable tasks: 5 executed
[RUN_GRADLEW] FAILURE: Build failed with an exception.
[RUN_GRADLEW] * What went wrong:
[RUN_GRADLEW] Could not determine the dependencies of task ':app:bundleReleaseResources'.
[RUN_GRADLEW] > Failed to install the following SDK components:
[RUN_GRADLEW]       build-tools;30.0.3 Android SDK Build-Tools 30.0.3
[RUN_GRADLEW]   Install the missing components using the SDK manager in Android Studio.
[RUN_GRADLEW] * Try:
[RUN_GRADLEW] > Run with --stacktrace option to get the stack trace.
[RUN_GRADLEW] > Run with --info or --debug option to get more log output.
[RUN_GRADLEW] > Run with --scan to get full insights.
[RUN_GRADLEW] * Get more help at https://help.gradle.org
[RUN_GRADLEW] BUILD FAILED in 2m 45s

Reproducible demo or steps to reproduce from a blank project

Inside of docker image running eas build -p android --local for the first time in project's root folder.

magbicaleman commented 1 year ago

I tried using expo-build-properties and the plugin settings

    plugins: [
      [
        "expo-build-properties",
        {
          "android": {
            "buildToolsVersion": "33.0.0",
            "compileSdkVersion": 33,
            "minSdkVersion": 21,
            "targetSdkVersion": 33,
          },
        }
      ]
    ],

Still getting error for build tools 30.0.3 even though I specified different version of build tools.

 [RUN_GRADLEW] Warning: Dependant package with key emulator not found!
[RUN_GRADLEW] 5 actionable tasks: 5 executed
[RUN_GRADLEW] FAILURE: Build failed with an exception.
[RUN_GRADLEW] * What went wrong:
[RUN_GRADLEW] Could not determine the dependencies of task ':app:bundleReleaseResources'.
[RUN_GRADLEW] > Failed to install the following SDK components:
[RUN_GRADLEW]       build-tools;30.0.3 Android SDK Build-Tools 30.0.3
[RUN_GRADLEW]   Install the missing components using the SDK manager in Android Studio.
[RUN_GRADLEW] * Try:
[RUN_GRADLEW] > Run with --stacktrace option to get the stack trace.
[RUN_GRADLEW] > Run with --info or --debug option to get more log output.
[RUN_GRADLEW] > Run with --scan to get full insights.
[RUN_GRADLEW] * Get more help at https://help.gradle.org
[RUN_GRADLEW] BUILD FAILED in 15s
[RUN_GRADLEW] Error: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.

Build failed
Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.
npx exited with non-zero code: 1
magbicaleman commented 1 year ago

In order to get past this issue you'll have to get an emulator for aarch_64 from https://ci.android.com/builds/branches/aosp-emu-master-dev/grid?legacy=1 in the package.xml you'll need to specify the revision

...etc
    <revision>
        <major>30</major>
        <minor>0</minor>
        <micro>3</micro>
    </revision>
...etc

You'll then experience the issue with Hermes "No OS found"

ThallesP commented 8 months ago

In order to get past this issue you'll have to get an emulator for aarch_64 from https://ci.android.com/builds/branches/aosp-emu-master-dev/grid?legacy=1 in the package.xml you'll need to specify the revision

...etc
    <revision>
        <major>30</major>
        <minor>0</minor>
        <micro>3</micro>
    </revision>
...etc

You'll then experience the issue with Hermes "No OS found"

The issue after that has to do with appt2 error, which I have not yet been able to address.

Hi @magbicaleman, I got the emulator but I don't know how I can fix the "OS found". What file I've to change?

1-AlenToma commented 6 days ago

same issue with OS. on the latest reactnative