Skip to content

Commit 81a031e

Browse files
committed
fix: usar apksigner manual para evitar errores de build-tools
1 parent 1371f6d commit 81a031e

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

.github/workflows/release.yml

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,32 @@ jobs:
2727
- name: Build Release APK
2828
run: ./gradlew assembleRelease
2929

30-
- name: Setup build tool version variable
31-
shell: bash
30+
- name: Sign APK (Manual Strategy)
3231
run: |
32+
# 1. Recuperar la llave desde el secreto Base64
33+
echo "${{ secrets.SIGNING_KEY }}" | base64 -d > release.jks
34+
35+
# 2. Detectar herramientas de construcción modernas
3336
BUILD_TOOL_VERSION=$(ls $ANDROID_SDK_ROOT/build-tools/ | tail -n 1)
34-
echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV
35-
36-
- name: Sign APK
37-
uses: r0adkll/sign-android-release@v1
38-
id: sign_app
39-
with:
40-
releaseDirectory: app/build/outputs/apk/release
41-
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
42-
alias: ${{ secrets.ALIAS }}
43-
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
44-
keyPassword: ${{ secrets.KEY_PASSWORD }}
45-
buildToolsVersion: ${{ env.BUILD_TOOL_VERSION }}
37+
APKSIGNER=$ANDROID_SDK_ROOT/build-tools/$BUILD_TOOL_VERSION/apksigner
38+
39+
# 3. Firmar la APK
40+
# Buscamos la APK generada (suele ser app-release-unsigned.apk o app-release.apk)
41+
SOURCE_APK=$(find app/build/outputs/apk/release/ -name "*.apk" | head -n 1)
42+
$APKSIGNER sign --ks release.jks \
43+
--ks-key-alias "${{ secrets.ALIAS }}" \
44+
--ks-pass pass:"${{ secrets.KEY_STORE_PASSWORD }}" \
45+
--key-pass pass:"${{ secrets.KEY_PASSWORD }}" \
46+
--out app/build/outputs/apk/release/TapTranslate-v${{ github.ref_name }}-signed.apk \
47+
$SOURCE_APK
48+
49+
# 4. Verificar la firma para total seguridad
50+
$APKSIGNER verify app/build/outputs/apk/release/TapTranslate-v${{ github.ref_name }}-signed.apk
4651
4752
- name: Create GitHub Release
4853
uses: softprops/action-gh-release@v2
4954
with:
50-
files: ${{ steps.sign_app.outputs.signedReleaseFile }}
55+
files: app/build/outputs/apk/release/TapTranslate-v${{ github.ref_name }}-signed.apk
5156
name: TapTranslate v${{ github.ref_name }}
5257
tag_name: ${{ github.ref }}
5358
body: |

0 commit comments

Comments
 (0)