鸿蒙Next native c++工程如何创建

在鸿蒙Next系统中,如何创建一个基于native C++的工程?需要哪些开发工具和配置步骤?能否提供详细的创建流程和注意事项?

2 回复

想创建鸿蒙Next的C++工程?简单!打开DevEco Studio,选“Create Project”,挑个Native C++模板,取个霸气的项目名,一路“Next”就搞定!记得选对SDK版本哦~(别问我怎么知道的,都是踩坑踩出来的经验😂)

更多关于鸿蒙Next native c++工程如何创建的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next中创建Native C++工程,可通过以下步骤实现:

  1. 安装环境
    确保已安装DevEco Studio 4.1或更高版本,并配置好HarmonyOS SDK和Native开发工具链(如CMake、NDK)。

  2. 创建工程

    • 打开DevEco Studio,选择“Create Project”。
    • 选择“Native C++”模板(通常位于“Application”分类下的“Native”中)。
    • 配置项目名称、包名、存储路径及兼容的设备类型(如Phone、Tablet)。
  3. 工程结构
    创建完成后,主要目录包括:

    • entry/src/main/cpp:存放C++源码(如hello.cpp)和CMakeLists.txt。
    • src/main/resources:资源文件。
    • build-profile.json:配置编译选项。
  4. 编写C++代码
    cpp目录下编辑代码,例如:

    #include <iostream>
    #include "napi/native_api.h"
    
    static napi_value HelloWorld(napi_env env, napi_callback_info info) {
        napi_value result;
        napi_create_string_utf8(env, "Hello from C++!", NAPI_AUTO_LENGTH, &result);
        return result;
    }
    
    static napi_value Init(napi_env env, napi_value exports) {
        napi_property_descriptor desc[] = {
            {"hello", nullptr, HelloWorld, nullptr, nullptr, nullptr, napi_default, nullptr}
        };
        napi_define_properties(env, exports, 1, desc);
        return exports;
    }
    
    EXTERN_C_START
    static napi_module hello_module = {
        .nm_version = 1,
        .nm_flags = 0,
        .nm_filename = nullptr,
        .nm_register_func = Init,
        .nm_modname = "hello",
        .nm_priv = nullptr,
    };
    EXTERN_C_END
    
    extern "C" __attribute__((constructor)) void RegisterModule() {
        napi_module_register(&hello_module);
    }
    
  5. 配置CMakeLists.txt
    确保CMakeLists.txt正确链接依赖,示例:

    cmake_minimum_required(VERSION 3.4.1)
    project(hello) 
    
    add_library(hello SHARED hello.cpp)
    target_link_libraries(hello PUBLIC libace_napi.z.so)
    
  6. 编译运行
    点击DevEco Studio的“Build”按钮编译,连接设备或模拟器后运行即可测试。

注意事项

  • 需熟悉HarmonyOS NDK API(如N-API)以实现JS与C++交互。
  • 若需扩展功能,可在build-profile.json中配置外部Native依赖。

通过以上步骤,即可快速创建并运行鸿蒙Next的Native C++工程。

回到顶部