@@ -32,23 +32,21 @@ jobs:
3232 sudo apt-get update
3333 sudo apt-get install -y imagemagick webp
3434
35- - name : Generate debug keystore
35+ - name : Setup local.properties with release keystore
3636 run : |
37- mkdir -p ~/.android
38- keytool -genkey -v -keystore ~/.android/debug.keystore \
39- -storepass android -alias androiddebugkey -keypass android \
40- -keyalg RSA -keysize 2048 -validity 10000 \
41- -dname "CN=Android Debug,O=Android,C=US" || true
42- echo "✓ Debug keystore ready"
43-
44- - name : Configure local.properties for signing
37+ echo "KEYSTORE_FILE=$RUNNER_TEMP/release.keystore" >> local.properties
38+ echo "KEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }}" >> local.properties
39+ echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> local.properties
40+ echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> local.properties
41+
42+ - name : Decode and write keystore
4543 run : |
46- cat > local.properties << 'EOF'
47- KEYSTORE_FILE=$HOME/.android/debug. keystore
48- KEYSTORE_PASSWORD=android
49- KEY_ALIAS=androiddebugkey
50- KEY_PASSWORD=android
51- EOF
44+ echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > $RUNNER_TEMP/release.keystore
45+ if [ ! -f "$RUNNER_TEMP/release. keystore" ]; then
46+ echo "❌ Keystore file not created"
47+ exit 1
48+ fi
49+ echo "✓ Keystore file created"
5250 echo "✓ local.properties configured"
5351
5452 - name : Validate and sanitize app name
@@ -65,18 +63,14 @@ jobs:
6563 # Keep only alphanumeric, spaces, and hyphens
6664 SANITIZED=$(echo "$APP_NAME" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sed 's/[^a-zA-Z0-9 -]//g')
6765
68- # Build final name: "FadCam Pro - <UserName>"
69- FINAL_NAME="FadCam Pro - $SANITIZED"
70-
7166 # Verify it's not empty after sanitization
7267 if [ -z "$SANITIZED" ]; then
7368 echo "❌ App name contains no valid characters"
7469 exit 1
7570 fi
7671
77- echo "SANITIZED_APP_NAME=$SANITIZED" >> $GITHUB_ENV
78- echo "FINAL_APP_NAME=$FINAL_NAME" >> $GITHUB_ENV
79- echo "✓ App name sanitized: $FINAL_NAME"
72+ echo "FINAL_APP_NAME=$SANITIZED" >> $GITHUB_ENV
73+ echo "✓ App name sanitized: $SANITIZED"
8074
8175 - name : Decode and validate icon
8276 run : |
@@ -161,9 +155,9 @@ jobs:
161155
162156 - name : Verify APK was built
163157 run : |
164- if [ -f "app/build/outputs/apk/default/proPlus/app-default-proPlus.apk" ]; then
158+ if [ -f "app/build/outputs/apk/default/proPlus/app-default-proPlus-unsigned .apk" ]; then
165159 echo "✓ Pro+ APK built successfully"
166- ls -lh app/build/outputs/apk/default/proPlus/app-default-proPlus.apk
160+ ls -lh app/build/outputs/apk/default/proPlus/app-default-proPlus-unsigned .apk
167161 else
168162 echo "✗ APK not found"
169163 ls -lh app/build/outputs/apk/default/proPlus/ || echo "Directory doesn't exist"
@@ -174,7 +168,7 @@ jobs:
174168 uses : actions/upload-artifact@v4
175169 with :
176170 name : fadcam-pro-plus-apk
177- path : app/build/outputs/apk/default/proPlus/app-default-proPlus.apk
171+ path : app/build/outputs/apk/default/proPlus/app-default-proPlus-unsigned .apk
178172 retention-days : 1
179173
180174 - name : Build summary
0 commit comments