EAS Android build problem

Hi @emrahc

A local build worked for me after I set the ANDROID_NDK_HOME environment variable to point to where Android Studio installed the NDK. But during the build it downloaded over 3G of a different version of the NDK :angry:. Anyway, the build worked fine.

Then I tried a build on the build servers and that failed similarly to yours. I have seen errors like that that can be worked around with a config plugin, but I thought I’d first try using a build environment on the build server that is closer to my local environment.

I think the main difference between my local environment and the build server is that I’m using Java 11 and the build server uses Java 8 by default. Fortunately you can configure the build server’s build environment. See also Build schema for eas.json:

eas.json:

{
  "cli": {
    "version": ">= 0.46.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "android": {
        "image": "ubuntu-20.04-jdk-11-ndk-r21e"
      }
    },
    "preview": {
      "distribution": "internal",
      "android": {
        "image": "ubuntu-20.04-jdk-11-ndk-r21e"
      }
    },
    "production": {
      "android": {
        "image": "ubuntu-20.04-jdk-11-ndk-r21e"
      }
    }
  },
  "submit": {
    "production": {}
  }
}

Unfortunately that still failed in the same way :frowning:

So a plugin it is. Fortunately I’ve written one before. See here:

I built the app successfully using this config plugin and the following plugins section in app.json:

[...]
    "plugins": [
      [
        "./plugins/withAndroidPickFirst",
        {
          "paths": [
            "lib/**/libreactnativejni.so"
          ]
        }
      ]
    ]
[...]