Chaquopy无法编译原生代码,cantools安装失败求助
问题:集成Chaquopy的Android应用中cantools编译失败
我正在开发集成了Chaquopy的Android应用,此前一个月cantools均可正常运行。今日运行同一项目时出现错误:CCompiler.compile: Chaquopy cannot compile native code,不清楚问题原因,求解决方法。
项目配置代码
ndk { abiFilters "armeabi-v7a","x86", "x86_64" } python { buildPython "C:/Users/way2smile/AppData/Local/Programs/Python/Python311/python.exe" pip{ install "cantools" } }
错误截图

解决方法
- 锁定cantools版本:如果之前使用的是旧版本cantools,可能最新版本新增了需要编译的原生代码,在pip配置里指定之前可用的版本,比如:
pip{ install "cantools==39.0.0" // 替换为你之前能用的版本号 } - 检查NDK配置:确保使用的NDK版本符合Chaquopy要求(推荐NDK r21e及以上),同时补充
arm64-v8a到abiFilters中,部分依赖需要该架构支持:ndk { abiFilters "armeabi-v7a","x86", "x86_64", "arm64-v8a" } - 清理缓存并重建:删除项目根目录下的
.chaquopy文件夹,然后执行Android Studio的Clean Project和Rebuild Project操作,避免缓存导致的异常。 - 强制使用预编译wheel包:在pip配置中添加参数强制使用预编译包,避免源码编译:
pip{ install "cantools" options "--only-binary :all:" }
内容的提问来源于stack exchange,提问作者Harish
相关产品推荐
相关产品推荐

