Signed Builds Configurations
🔐 Dashwave does not create signing configuration (keystore) for your project for security. We use your own signing configuration to sign the APKs during build process.
Ingredients needed for signing beforehand to build signed APK -
◦ storeFile ◦ storePassword ◦ keyAlias ◦ keyPassword
In your Gradle settings (build.gradle
or build.gradle.kts
) in your module level directory, you can explicitly set the code signing details to ensure that the app is signed as it's being built.
For more information on signing, check out Gradle build signing
Example configuration in build.gradle
of module
signingConfigs {
create("release") {
storeFile = file("\\dashwave\\keystore\\keystore")
storePassword = "******"
keyAlias = "dashwave"
keyPassword = "*****"
}
}
Different ways to define Signing Configuration :
Different ways to define Signing Configuration
🔑 In any below case, dw build uses your own keystore, which will be detected and uploaded automatically on dw cloud by DW-CLI.
If keystore is included in .gitignore
of your project, you need to run this CLI command to sync your keystore.
dw sync-key-store path-to-keystore
//Run this command from root directory of project only
1. Signing configuration in the build.gradle file
In this example, dw build will use the configuration as it is.
android {
// Make sure signingConfigs is defined before buildTypes.
signingConfigs {
release {
keyAlias 'MyAndroidKey'
keyPassword '***'
storeFile file("/path/to/my/keystore.jks")
storePassword '***'
}
}
buildTypes {
release {
// Use signing config for build type
signingConfig signingConfigs.release
// ...
}
}
}
// ...
2. Using Environment Variables in the build.gradle file
Make sure to define the Environment Variables you use in your build.gradle
file on console.dashwave.io Project setting page as well.
android {
signingConfigs {
release {
keyAlias System.getenv("KEYSTORE_ALIAS")
keyPassword System.getenv("KEYSTORE_KEY_PASSWORD")
storeFile file("/path/to/my/keystore.jks")
storePassword System.getenv("KEYSTORE_PASSWORD")
}
}
buildTypes {
release {
// Use signing config for build type
signingConfig signingConfigs.release
// ...
}
}
}
..
If you use Environment Variables as keyPassword
and storePassword
on the Code signing tab as System.getenv("ENV_KEY")
, your build.gradle
will look like this
Note:
- We are actively developing support for various signing configuration workflows. If you have any suggestions or feedback, please reach us at: hello@dashwave.io or join our Discord Community