首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法签署jar,无效的条目压缩大小

无法签署jar,无效的条目压缩大小
EN

Stack Overflow用户
提问于 2021-05-19 14:12:44
回答 1查看 776关注 0票数 1

我有一个反应本机应用程序。我正在准备通过github-动作到Google Play Store来持续部署Android。

我使用这个库对应用程序进行签名:https://github.com/r0adkll/sign-android-release

我有以下用于github-动作发布的yaml配置文件:

代码语言:javascript
复制
on: workflow_dispatch

name: Release to Google Play Store

jobs:
  beta-distribution:
    runs-on: ubuntu-latest
    name: Beta Distribution
    steps:
    - name: Checkout
      uses: actions/checkout@v2
    - uses: actions/setup-node@master
    - uses: c-hive/gha-yarn-cache@v1

    - name: Install node modules
      run: |
        yarn install
    - name: Cache Gradle Wrapper
      uses: actions/cache@v2
      with:
        path: ~/.gradle/wrapper
        key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}

    - name: Cache Gradle Dependencies
      uses: actions/cache@v2
      with:
        path: ~/.gradle/caches
        key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
        restore-keys: |
          ${{ runner.os }}-gradle-caches-
    - name: Make Gradlew Executable
      run: cd android && chmod +x ./gradlew

    - name: Build Android App Bundle
      run: |
        cd android && ./gradlew bundleRelease --no-daemon
    - name: Sign App Bundle
      id: sign_app
      uses: r0adkll/sign-android-release@v1
      with:
        releaseDirectory: android/app/build/outputs/bundle/release
        signingKeyBase64: ${{ secrets.ANDROID_SIGNING_KEY }}
        alias: ${{ secrets.ANDROID_SIGNING_ALIAS }}
        keyStorePassword: ${{ secrets.ANDROID_SIGNING_STORE_PASSWORD }}
        keyPassword: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }}

    - name: Upload Artifact
      uses: actions/upload-artifact@v2
      with:
        name: Signed App Bundle
        path: ${{steps.sign_app.outputs.signedReleaseFile}}

    - name: Deploy to Play Store (BETA)
      uses: r0adkll/upload-google-play@v1
      with:
        serviceAccountJsonPlainText: ${{ secrets.ANDROID_SERVICE_ACCOUNT }}
        packageName: com.wmsappbare
        releaseFile: a${{steps.sign_app.outputs.signedReleaseFile}}
        track: beta
        inAppUpdatePriority: 3
        userFraction: 0.5
        whatsNewDirectory: android/release-notes/
        # mappingFile: android/app/build/outputs/mapping/release/mapping.txt

我在github操作中出现了一个错误:

准备用签名键/usr/bin/jarsigner android/app/build/outputs/bundle/release/signingKey.jks -storepass * -keypass * android/app/build/outputs/bundle/release/app-release.aab : java.util.zip.ZipException: java.util.zip.ZipException:无效条目压缩大小(预期为54105字节,但获得55476字节)签署密钥@

/app///

看上去和答案完全一样:

jarsigner: unable to sign jar: java.util.zip.ZipException: invalid entry compressed size (expected 463 but got 465 bytes)

但对我来说没有任何意义。怎么可能已经签署了呢?

在这个问题上,我评论了https://github.com/r0adkll/sign-android-release/issues/31,一位同事说我的应用程序已经签了"keystone“的详细信息。

我尝试了他为我提供的步骤,这些步骤在问题中被描述为注释,但是每一步都失败了,有一个不同的错误。

在我的android/app文件夹中,我有以下文件:

  • build.gradle
  • debug.keystore
  • your_key_name.keystore

build.gradle:

https://pastebin.com/sNtZrVwD

我相信我的build.gradle可能有错误的signingConfigs部分,但我完全相信我理解它是如何工作的。

EN

回答 1

Stack Overflow用户

发布于 2022-09-29 09:02:38

您需要从buildTypes { release {}} in build.gradle中删除下面一行

signingConfig signingConfigs.debug

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67604963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档