Min*_*asN 2 android google-play react-native github-actions
我有一个 React 本机应用程序。我正在准备通过 github-actions 将 Android 持续部署到 Google Play 商店。
我正在使用这个库来签署应用程序:https ://github.com/r0adkll/sign-android-release
我有以下用于发布的 github-action 的 yaml 配置文件:
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
Run Code Online (Sandbox Code Playgroud)
我的 github 操作出现错误:
准备使用签名密钥 /usr/bin/jarsigner -keystore 对 @ android/app/build/outputs/bundle/release 进行签名密钥 android/app/build/outputs/bundle/release/signingKey.jks -storepass *** -keypass * ** android/app/build/outputs/bundle/release/app-release.aab *** jarsigner: 无法签署 jar: java.util.zip.ZipException: 无效的条目压缩大小(预期 54105 但得到 55476 字节)
看起来与答案完全相同:
jarsigner:无法签署 jar:java.util.zip.ZipException:条目压缩大小无效(预期为 463,但实际为 465 字节)
但这对我来说没有任何意义。怎么可能已经签了呢?
https://github.com/r0adkll/sign-android-release/issues/31在本期中,我发表了评论,一位开发人员同事说我的应用程序已经使用“keystone”详细信息进行了签名。
我尝试了他为我提供的步骤,这些步骤在问题中作为评论进行了描述,但是每个步骤都因不同的错误而失败。
在我的 android/app 文件夹中,我有以下文件:
构建.gradle:
我相信我的部分build.gradle可能有错误signingConfigs,但我完全确定我理解它是如何工作的。
| 归档时间: |
|
| 查看次数: |
1476 次 |
| 最近记录: |