An Expo Config Plugin to persist Android release signing configurations in build.gradle across expo prebuild runs.
pnpm add @nauzyx-labs/expo-android-signedAdd the plugin to your app.json or app.config.js:
{
"expo": {
"plugins": ["expo-android-signed"]
}
}The plugin looks for the following environment variables (usually in a .env file in your project root) during the build process:
RELEASE_STORE_FILE: Name of your keystore file (e.g.,my-release-key.keystore). The file should be in your project root.RELEASE_KEY_ALIAS: Your key alias.RELEASE_STORE_PASSWORD: Your keystore password.RELEASE_KEY_PASSWORD: Your key password.
You can also pass options directly in app.json (though environment variables are recommended for passwords):
"plugins": [
[
"expo-android-signed",
{
"storeFile": "custom-key.keystore",
"keyAlias": "custom-alias"
}
]
]When you run npx expo prebuild, this plugin automatically patches android/app/build.gradle to:
- Add a
releasesigning config. - Link the
releasebuild type to thereleasesigning config. - Ensure the
debugbuild type remains on thedebugsigning config.
MIT