Why would be manifest not be valid?

I keep getting error like this - Manifest from is not compatible with the android platform.

Ran expo export --public-url <xyz> and then expo build:android --public-url <xyz> --no-publish --type apk

Expo CLI 3.13.1 environment info:
System:
OS: macOS 10.15.2
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.16.1 - /usr/local/bin/node
Yarn: 1.21.1 - /usr/local/bin/yarn
npm: 6.13.4 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.6010548
Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
npmPackages:
expo: ~36.0.0 => 36.0.2
react: ~16.9.0 => 16.9.0
react-native: https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz => 0.61.4
npmGlobalPackages:
expo-cli: 3.13.1

Hi

The --public-url options for export and build:* are not exactly the same. Or at least, if they are the same then you need some server-side functionality to detect the platform and redirect/serve up the correct manifest.

Easiest is to do something like this:

$ expo export --public-url https://example.com/blah/
$ rsync -avxz --progress --delete --stats dist/ example.com:/blah/
$ expo build:android --public-url https://example.com/blah/android-index.json

Note the android-index.json on the end of the build:android --public-url.

I suspect that’s the problem.

Yes, usage of --public-url is different in export vs build:android; And the --public-url for export and building are already been taken care of in this case. Also the exported files are hosted on a server. So, this won’t trouble, I think.

OK. And you can confirm that the correct manifest is served to the build server when you run expo build:android?

If so, perhaps download it yourself, open it in a text editor and check if there’s anything that looks wrong.

Yes, it is serving the android-index.json properly. There seems to be nothing wrong with json. I’m using the usual expo export --public-url ...

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