You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo使用prebuild本地构建时如何自定义已有密钥库(暂不使用EAS)

解决方案:Expo Prebuild 后使用已有密钥库打包 Android 应用

1. 配置 Android 项目的 Gradle 文件

找到生成的 android/app/build.gradle 文件,按以下方式修改:

步骤1:加载密钥库配置(避免硬编码敏感信息)

在文件开头添加代码,读取 local.properties 中的密钥信息:

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('local.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

步骤2:配置签名信息

在 android 块内添加 signingConfigs 配置:

android {
    // ... 已有配置
    
    signingConfigs {
        release {
            storeFile file(keystoreProperties['MYAPP_RELEASE_STORE_FILE'])
            storePassword keystoreProperties['MYAPP_RELEASE_STORE_PASSWORD']
            keyAlias keystoreProperties['MYAPP_RELEASE_KEY_ALIAS']
            keyPassword keystoreProperties['MYAPP_RELEASE_KEY_PASSWORD']
        }
    }
    
    // ... 其他配置
}

步骤3:关联签名配置到 Release 构建类型

在 buildTypes 的 release 块中指定签名配置:

buildTypes {
    release {
        signingConfig signingConfigs.release
        // ... 已有配置(如 minifyEnabled、proguardFiles 等)
    }
}

步骤4:在 local.properties 中填写密钥信息

打开 android/local.properties 文件(无则创建),添加你的密钥库详情:

MYAPP_RELEASE_STORE_FILE=/绝对路径/到/你的/密钥库文件.jks
MYAPP_RELEASE_STORE_PASSWORD=你的密钥库密码
MYAPP_RELEASE_KEY_ALIAS=你的密钥别名
MYAPP_RELEASE_KEY_PASSWORD=你的密钥密码

2. 验证配置并打包

进入 android 目录,运行以下命令生成签名后的 Release APK:

./gradlew assembleRelease

配置正确的话,打包完成后可在 android/app/build/outputs/apk/release/ 目录下找到签名后的APK文件。

3. 重要注意事项

  • 务必将 local.properties 添加到 .gitignore 文件中,防止密钥信息泄露到版本控制系统
  • 确保当前使用的密钥库和之前发布应用时的签名信息完全一致,否则会导致应用更新时出现签名不匹配的错误

内容的提问来源于stack exchange,提问作者rob-art

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:37:09