如何在无app.config.js的Expo项目中使用EAS Secrets?
解决Expo项目无app.config.js时使用EAS Secrets配置google-services.json的问题
第一步:将google-services.json转为Base64编码
打开终端定位到文件所在目录,执行对应系统的命令生成Base64字符串:- Mac/Linux:
base64 google-services.json - Windows:执行
certutil -encode google-services.json temp.b64 && findstr /v /c:- temp.b64 > google-services.b64,打开生成的google-services.b64复制内容
- Mac/Linux:
第二步:添加EAS项目级Secret
在项目根目录执行命令,将Base64字符串存入Secret:eas secret:create --name GOOGLE_SERVICES_JSON --value <你的Base64字符串> --type project第三步:创建app.config.js配置文件
在项目根目录手动新建app.config.js,复制原app.json里的所有配置内容,修改android部分的googleServicesFile配置:export default { expo: { name: "你的应用名称", slug: "你的应用slug", // 粘贴原app.json中其他所有配置项 android: { googleServicesFile: process.env.GOOGLE_SERVICES_JSON } } };第四步:清理旧配置并构建
删除原app.json中android字段下的googleServicesFile配置,然后执行构建命令:eas build -p android
注:app.json是静态配置文件无法读取环境变量,而app.config.js作为动态配置文件,能够访问EAS注入的Secret变量,因此必须创建该文件来完成配置。
内容的提问来源于stack exchange,提问作者Koreahn
相关产品推荐
相关产品推荐

