# ani_cookbook **Repository Path**: wang19954/ani_cookbook ## Basic Information - **Project Name**: ani_cookbook - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2025-03-17 - **Last Updated**: 2025-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ANI 使用样例 ## 介绍 关于 ARKTS 演进 ANI 接口的使用样例 ## 准备条件 已经下载和编译完成了 ARKTS 演进的源码,生成产物在 arkruntime_core/static/core/out 下,其中,out是cmake配置的目录,可以为别的目录 配置环境变量 ```export PANDA_HOME=/path/to/arkruntime_core/static/core/out``` ## 编译方法 ``` cmake -B build -GNinja cmake --build build --target ``` 例如 ``` cmake -B build -GNinja cmake --build build --target hello_ani ``` 执行以上的命令会编译对对应demo相关的 ets/cpp 源码,并加载执行 abc 文件 - 单独编译abc文件 ``` cmake --build build --target _abc ``` - 单独编译cpp文件 ``` cmake --build build --target _cpp ``` ## 样例列表 | **DEMO 名称** | **DEMO内容** | |----------------------------------------------------------------------------------------------|----------------------------| | [ani_async_wrapper](./ani_async_wrapper) | 封装同步接口实现异步接口 | | [ani_bigint](./ani_bigint) | 解析BigInt参数 | | [ani_call_method](./ani_call_method) | 在Native调用方法 | | [ani_interface](./ani_interface) | 创建Interface实例 | | [ani_optional_parameter](./ani_optional_parameter) | 处理可变参数 | | [ani_promise](./ani_promise) | 待删除 | | [ani_record](./ani_record) | 处理简单Record | | [ani_setfield](./ani_setfield) | 读写Field | | [ani_template](./ani_template) | 处理模板类参数 | | [ani_union](./ani_union) | 处理union参数 | | [ani_wantpara](./ani_wantpara) | 处理复杂的组合参数,以WantParameter为例 | | [ani_wrap_native_ptr](./ani_wrap_native_ptr) | 在ETS对象中保存Native对象指针 |