diff --git a/scripts/build-wearos.sh b/scripts/build-wearos.sh
index 672b196..6766a89 100755
--- a/scripts/build-wearos.sh
+++ b/scripts/build-wearos.sh
@@ -30,6 +30,21 @@ cd "$WEAR_DIR"
echo "Building WearOS ($PROFILE) v$VERSION ($VERSION_CODE)..."
if [ "$PROFILE" = "release" ]; then
+ if [ ! -f "$WEAR_DIR/../credentials.json" ]; then
+ echo "credentials.json not found. Downloading from EAS..."
+ cd "$PROJECT_ROOT"
+ eas credentials --platform android --non-interactive 2>/dev/null || {
+ echo "Auto-download failed. Run manually:"
+ echo " eas credentials --platform android"
+ echo " → Choose 'credentials.json: Upload/Download credentials'"
+ echo " → Choose 'Download credentials from EAS to credentials.json'"
+ echo " Then: cp credentials.json targets/wearos/credentials.json"
+ exit 1
+ }
+ cp credentials.json "$WEAR_DIR/credentials.json"
+ echo "credentials.json copied to targets/wearos/"
+ cd "$WEAR_DIR"
+ fi
./gradlew assembleRelease -PversionName="$VERSION" -PversionCode="$VERSION_CODE"
APK_PATH="app/build/outputs/apk/release/app-release.apk"
else
diff --git a/targets/wearos/app/build.gradle.kts b/targets/wearos/app/build.gradle.kts
index 601e922..8f4df02 100644
--- a/targets/wearos/app/build.gradle.kts
+++ b/targets/wearos/app/build.gradle.kts
@@ -5,6 +5,8 @@ plugins {
id("io.sentry.android.gradle") version "6.17.0"
}
+val credentialsFile = rootProject.file("../credentials.json")
+
android {
namespace = "nl.guidoit.swimbuddy"
compileSdk = 35
@@ -22,6 +24,20 @@ android {
manifestPlaceholders["sentryDsn"] = sentryDsn
}
+ signingConfigs {
+ if (credentialsFile.exists()) {
+ create("release") {
+ val credentials = groovy.json.JsonSlurper().parse(credentialsFile) as Map<*, *>
+ val keystoreData = credentials["android"]!! as Map<*, *>
+ val keyData = keystoreData["keystore"]!! as Map<*, *>
+ storeFile = rootProject.file(keyData["keystorePath"] as String)
+ storePassword = keyData["keystorePassword"] as String
+ keyAlias = keyData["keyAlias"] as String
+ keyPassword = keyData["keyPassword"] as? String ?: keyData["keystorePassword"] as String
+ }
+ }
+ }
+
buildTypes {
release {
isMinifyEnabled = true
@@ -30,6 +46,9 @@ android {
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
+ if (credentialsFile.exists()) {
+ signingConfig = signingConfigs.getByName("release")
+ }
}
}
diff --git a/targets/wearos/app/src/main/AndroidManifest.xml b/targets/wearos/app/src/main/AndroidManifest.xml
index ab9d56f..2287902 100644
--- a/targets/wearos/app/src/main/AndroidManifest.xml
+++ b/targets/wearos/app/src/main/AndroidManifest.xml
@@ -34,6 +34,10 @@
android:name="io.sentry.attach-screenshot"
android:value="true" />
+
+