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

AWS Android GraphQL教程amplify codegen生成代码构建失败问题

问题根因

所有报错均为Amplify CLI版本与项目中引入的Amplify Android SDK版本不兼容导致:高版本CLI生成的代码使用了新版SDK才支持的注解参数、API语法,而你项目中使用的是旧版SDK,因此找不到对应符号、API参数匹配失败。

疑问解答

  1. 不要手动修改自动生成的代码
    手动将field("NoteData", "image")改为field("image")虽然可以临时解决编译报错,但后续重新执行amplify codegen models会直接覆盖你的修改,且新旧版本QueryField的查询逻辑存在差异,手动修改后大概率会出现查询匹配错误、数据解析失败等运行时问题。
  2. 注解参数不存在的原因
    AuthRule的provider参数、ModelField的isReadOnly参数均为Amplify Android v2+版本新增的配置项,如果你项目中依赖的是v1.x版本的Amplify SDK,自然会找不到这些字段。

解决方案

你只需要统一CLI和SDK的版本即可,两种方案二选一:

方案1:升级Android项目SDK到v2版本

将项目build.gradle中所有Amplify相关依赖替换为v2.x稳定版本,同步依赖完成后删除原有自动生成的models文件夹,重新执行amplify codegen models生成匹配的代码,即可正常编译。

方案2:降级Amplify CLI到与SDK匹配的版本

如果你不想改动现有项目的SDK版本,可以卸载当前CLI,安装对应版本的旧版CLI:

  • 若项目使用v1.x版本SDK,安装7.6.26版本CLI即可:
npm install -g @aws-amplify/cli@7.6.26

安装完成后重新执行amplify codegen models生成代码,无需任何手动修改即可正常构建。

内容的提问来源于stack exchange,提问作者Gareth Davies

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:45:01