sign-android-release
sign-android-release copied to clipboard
java.io.IOException: Tag number over 30 is not supported
I created workflow script to create release with apk release version. And I found this error. I have tried to search this error, but I cannot found the answer. I am a little bit confused about the error message. I have tried to create new keystore, change build tools version, but it still didn't work. Here is the log.
Verification succesful
/usr/bin/cp app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
/usr/local/lib/android/sdk/build-tools/30.0.2/apksigner sign --ks app/build/outputs/apk/release/signingKey.jks --ks-key-alias --ks-pass pass: --out app/build/outputs/apk/release/app-release-unsigned-signed.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
Failed to load signer "signer #1"
java.io.IOException: Tag number over 30 is not supported
at java.base/sun.security.util.DerValue.<init>(DerValue.java:442)
at java.base/sun.security.util.DerValue.<init>(DerValue.java:487)
at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2012)
at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:221)
at java.base/java.security.KeyStore.load(KeyStore.java:1473)
at com.android.apksigner.SignerParams.loadKeyStoreFromFile(SignerParams.java:353)
at com.android.apksigner.SignerParams.loadPrivateKeyAndCertsFromKeyStore(SignerParams.java:239)
at com.android.apksigner.SignerParams.loadPrivateKeyAndCerts(SignerParams.java:181)
at com.android.apksigner.ApkSignerTool.getSignerConfig(ApkSignerTool.java:368)
at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:291)
at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:84)
Error: The process '/usr/local/lib/android/sdk/build-tools/30.0.2/apksigner' failed with exit code 2
And here is my workflow script.
name: Create Release
on:
workflow_dispatch:
jobs:
unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Up JDK
uses: actions/setup-java@v2
with:
distribution: "temurin"
java-version: "17"
- name: Change Wrapper Permissions
run: chmod +x ./gradlew
- name: Run Unit Tests
run: ./gradlew test
apk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Up JDK
uses: actions/setup-java@v2
with:
distribution: "temurin"
java-version: "17"
- name: Change Wrapper Permissions
run: chmod +x ./gradlew
- name: Build APK Release
run: bash ./gradlew assembleRelease
- name: Sign APK
id: sign_apk
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.KEYSTORE_BASE64 }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "30.0.2"
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: apk-release
path: ${{ steps.sign_apk.outputs.signedReleaseFile }}
release:
name: Create Release
needs: apk
runs-on: ubuntu-latest
steps:
- name: Get build info
id: build_info
run: echo "::set-output name=version-name::$(./gradlew -q printVersionName)"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: release-${{ steps.build_info.outputs.version-name }}
release_name: Release v${{ steps.build_info.outputs.version-name }}
- name: Upload APK Release
id: upload_release_asset
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ steps.sign_apk.outputs.signedReleaseFile }}
asset_name: app-release.apk
asset_content_type: application/zip
Ref ENV: BUILD_TOOLS_VERSION, we can override BUILD_TOOLS_VERSION to support 30 and above, but not work for me, seems it doesn't work for compileSdk >= 32 case.
https://github.com/LawnchairLauncher/lawnchair/runs/7623742327?check_suite_focus=true
I've tried to change BUILD_TOOLS_VERSION, but it also didn't work for me. Any solution?
Try https://github.com/r0adkll/sign-android-release/issues/66#issuecomment-1159684624
Okay, thanks. I've just knew there is a new release. I'm gonna try it out