HarmonyOS 鸿蒙Next api12 native 构建问题
HarmonyOS 鸿蒙Next api12 native 构建问题
clion在wsl下构建,失败了(找不到bits/alltypes.h);
在clion里写,用到了cpp的几个stl(memory、string、etc),然后在deveco上构建,失败了(找不到nullptr_t、不存在某个模板)
有没有老哥教教咋修,或者告知一下鸿蒙native支持的cpp版本是多少啊╯﹏╰
用的api12,win10,wsl是ubuntu,deveco是最新版本,cmake里cpp语言级别设置的23
翻了一下头文件,应该是最高支持cpp17,
更多关于HarmonyOS 鸿蒙Next api12 native 构建问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
native构建直接新建Native的工程,可以自动生成一个能用的napi框架,可以直接用这个框架去写cpp:
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
如果是想要在linux下编译鸿蒙能用的so,然后去调用,要用鸿蒙的编译工具,参考:
https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/docs/cmake_portting.mdh
±/$%-+
https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/doc/app_calls_third_lib.md
dev eco cpp开发体验太差了,我native代码用clion写的。
可以用dev eco创建出工程,再去clion里面打开工程,和code,不冲突。编译再在Dev eco里面编译就行。
在HarmonyOS鸿蒙Next API 12中,使用Native进行构建时,开发者需要确保开发环境配置正确。首先,确保安装了最新的DevEco Studio,并且SDK Manager中已下载并配置了API 12的Native开发包。在项目配置中,检查build.gradle
文件,确认compileSdkVersion
和targetSdkVersion
设置为12
,并且ndkVersion
与已安装的NDK版本一致。
在Native代码编写时,确保使用API 12的Native API进行开发,避免使用已弃用或不兼容的API。构建过程中,如果遇到undefined reference
或symbol not found
等链接错误,检查是否遗漏了必要的库文件或头文件。可以通过CMakeLists.txt
或build.gradle
中的externalNativeBuild
配置来确保正确链接库文件。
在调试过程中,可以通过logcat
查看Native层的日志输出,定位问题。如果构建失败,检查错误日志,确认是否有语法错误、库缺失或配置错误。确保项目的abiFilters
配置正确,支持目标设备的架构。
如果使用第三方Native库,确保其兼容API 12,并且库文件已正确集成到项目中。构建完成后,通过hdc
工具将应用安装到设备上进行测试,确保功能正常。
在HarmonyOS鸿蒙Next中使用API 12进行Native开发时,可能会遇到构建问题。首先,确保你的开发环境已正确配置,包括JDK、SDK和NDK版本。其次,检查build.gradle
文件中的依赖项和配置是否与API 12兼容。如果遇到编译错误,查看具体的错误日志,通常是由于缺少库或版本不匹配。可以使用gradlew clean build
清理并重新构建项目。此外,确保NDK路径已正确设置,并检查C/C++代码是否符合API 12的规范。