编译Android arm64架构Flutter引擎时出现Python TypeError错误
Flutter引擎Android arm64版本编译报错解决方案
- 停止使用sudo执行所有构建命令。sudo会切换当前执行上下文为root用户,重置当前普通用户配置的Android SDK、NDK、Python模块等相关环境变量,导致构建脚本读取路径时返回空值,触发本次的NoneType类型错误。你之前iOS模拟器构建正常是因为该构建流程不依赖Android相关的环境变量。
- 切换本地Python版本至3.8.x分支。你当前使用的Python 3.9.7与对应版本Flutter引擎的构建脚本存在兼容性问题,脚本中获取Python依赖路径的逻辑在3.9版本下会返回空值,降级Python版本可解决该兼容性问题。
- 清空之前构建生成的缓存文件。之前使用sudo生成的out目录下的文件权限为root所有,普通用户无法修改,先执行命令
sudo rm -rf out/*清空所有构建缓存后再重新执行构建操作。 - 检查Android构建相关环境变量配置。确认本地的
ANDROID_HOME、ANDROID_NDK_PATH环境变量指向正确的SDK、NDK路径,且NDK版本符合你正在编译的Flutter引擎分支的要求,不要使用版本过高或过低的NDK。
内容的提问来源于stack exchange,提问作者Kartik Garasia
相关产品推荐
相关产品推荐

