Flutter项目引入pdf_render包出现ninja构建失败错误如何解决
问题解决方案
这两个报错均属于pdf_render包原生层编译失败问题,可按以下步骤逐一排查解决:
- 第一步:指定匹配的NDK版本
pdf_render 1.0.12对高版本NDK兼容性较差,建议在项目android/build.gradle文件中指定21~24区间的NDK版本,示例配置:
如果本地未安装对应版本NDK,可通过Android Studio的SDK Manager下载对应版本后再重试。android { ndkVersion "23.1.7779620" // 其余原有配置保持不变 } - 第二步:配置支持的ABI架构
在项目android/app/build.gradle的defaultConfig节点下新增ndk架构过滤,排除不支持的过时架构:defaultConfig { // 其余原有配置保持不变 ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64' } } - 第三步:清理缓存重新构建
依次执行以下命令清理项目缓存后重新运行:flutter clean- 删除项目
android目录下的.gradle缓存文件夹 flutter pub get
- 第四步:检查编译版本适配
确认项目android/app/build.gradle中的compileSdkVersion不低于33,若上述步骤均无效,可根据你的Flutter版本调整pdf_render的依赖版本,选择和当前开发环境适配的版本号即可。 - 第五步:Windows环境特殊排查
若使用Windows系统开发,检查Android SDK及NDK的存放路径是否包含中文、空格或特殊字符,如有则将SDK转移到纯英文无特殊符号的路径后重试。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

