如何将应用从Firebase App Distribution直接上传至Google Play?
从Firebase App Distribution推送至Google Play的解决方案
结论先行:目前没有官方支持的直接从Firebase App Distribution推送应用到Google Play的途径。Firebase App Distribution定位是内部测试分发工具,和Google Play的发布体系相互独立,没有打通直接推送的通道。
不过你可以基于现有的GitHub Actions工作流直接扩展,在构建完成后同时推送到Firebase和Google Play,不需要经过Firebase中转。这样既能保持给测试人员的分发流程,又能完成Google Play的发布操作。
修改后的完整GitHub Actions工作流
name: Deploy Application Manual on: workflow_dispatch jobs: build: runs-on: ubuntu-latest environment: name: qus steps: - name: Decode Keystore File id: decode_keystore uses: timheuer/base64-to-file@v1 with: fileName: 'keystore/keystore.jks' encodedString: ${{ secrets.KEYSTORE }} - uses: actions/checkout@v2 - name: set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Make gradlew executable run: chmod +x ./gradlew - name: Build Release Bundle run: ./gradlew app:bundleRelease env: SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} - name: Upload Build Artifacts uses: actions/upload-artifact@v2 with: name: Build Artifacts & Save path: app/build/outputs/ - name: Upload to Firebase Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1 with: appId: ${{secrets.FIREBASE_APP_ID}} groups: testers releaseNotesFile: README.md file: app/build/outputs/bundle/release/App-release.aab token: ${{secrets.FIREBASE_TOKEN}} - name: Upload to Google Play uses: r0adkll/upload-google-play@v1 with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: com.your.app.package # 替换为你的应用包名 releaseFiles: app/build/outputs/bundle/release/App-release.aab track: beta # 可根据需求改为alpha、production等 releaseName: "Release ${{ github.run_number }}" status: completed # 设置为completed直接发布,draft则保留为草稿
额外配置说明
- Google Play服务账号准备:
- 登录Google Play Console,进入「设置」-「API访问权限」
- 创建服务账号,赋予「应用发布者」权限
- 下载该服务账号的JSON密钥文件
- GitHub Secrets配置:
在仓库的「Settings」-「Secrets and variables」-「Actions」中添加:GOOGLE_SERVICE_ACCOUNT_JSON:上述下载的JSON密钥内容
- 参数调整:
packageName:替换成你的应用实际包名track:选择发布渠道,比如beta用于公开测试,production用于正式发布status:如果不想直接发布,可设置为draft,后续在Play Console手动审核发布
内容的提问来源于stack exchange,提问作者Ashvin solanki
相关产品推荐
相关产品推荐

