SuperAPI AI 工具集

gplay-gradle-build

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:在将 Android 应用上传 Google Play 之前,使用 Gradle 完成构建、签名与打包。

主要能力:

  • 构建类型:App Bundle(推荐,新应用在 Google Play 上需用 AAB)执行 ./gradlew bundleRelease,输出 app/build/outputs/bundle/release/app-release.aab;旧式 APK 执行 ./gradlew assembleRelease,输出 app/build/outputs/apk/release/app-release.apk。
  • 签名配置:在应用级 build.gradle 的 android.signingConfigs.release 中通过环境变量读取 storeFile、storePassword、keyAlias、keyPassword;release 构建类型引用 signingConfig。
  • 环境变量:export KEYSTORE_FILE、KEYSTORE_PASSWORD、KEY_ALIAS、KEY_PASSWORD。
  • 版本管理:在 gradle.properties 定义 VERSION_NAME、VERSION_CODE,再在 defaultConfig 读取;可用 grep/sed 递增 VERSION_CODE 后构建。
  • ProGuard/R8:release 中设置 minifyEnabled true、shrinkResources true 及 proguardFiles;映射文件位于 app/build/outputs/mapping/release/mapping.txt,可用 gplay deobfuscation upload 上传做崩溃符号化。
  • 构建变体:用 flavorDimensions 与 productFlavors 定义,如 ./gradlew bundleFreeRelease、bundlePaidRelease。
  • CI/CD:提供了 GitHub Actions 示例,将密钥库经 base64 解码后构建,并用 gplay release 上传到指定轨道。
  • 常用任务:./gradlew clean bundleRelease;带 SDK 参数构建;跳过测试与 lint;./gradlew bundle 构建全部变体。

排错:keytool -list -v 检查密钥库;bundletool 检查 AAB 内容。

最佳实践:勿提交密钥库、用环境变量存凭据、release 启用 R8、每次发布上传映射文件、每次构建递增版本号、上传前测试 release 构建、尽量用 AAB。

限制:资料未说明支持的 Gradle/AGP 版本、所需环境、收费方式及具体平台兼容范围,暂未提供。