From 7ee77fdaa81caeab1e2a870c2e0cfb14da120873 Mon Sep 17 00:00:00 2001 From: Annie_wang Date: Tue, 8 Aug 2023 17:19:52 +0800 Subject: [PATCH] update docs Signed-off-by: Annie_wang --- .../quick-start/ffi-napi-introduction.md | 10 + .../native-apis/{Readme-EN.md => README.md} | 4 +- .../native-lib/third_party_napi/napi.md | 148 ++++++ .../tools/how-to-use-arkui-x-sdk.md | 39 ++ .../figures/napi-android-demo-result.png | Bin 0 -> 63573 bytes .../tutorial/figures/napi-ios-demo-result.png | Bin 0 -> 73490 bytes .../tutorial/figures/napi-ios-signing.png | Bin 0 -> 78466 bytes ...-to-explore-native-interface-on-android.md | 425 ++++++++++++++++++ .../how-to-explore-native-interface-on-ios.md | 252 +++++++++++ .../tutorial/how-to-use-napi-on-android.md | 219 +++++++++ .../tutorial/how-to-use-napi-on-ios.md | 15 + 11 files changed, 1111 insertions(+), 1 deletion(-) create mode 100644 en/application-dev/quick-start/ffi-napi-introduction.md rename en/application-dev/reference/native-apis/{Readme-EN.md => README.md} (71%) mode change 100755 => 100644 create mode 100644 en/application-dev/reference/native-lib/third_party_napi/napi.md create mode 100644 en/application-dev/tools/how-to-use-arkui-x-sdk.md create mode 100644 en/application-dev/tutorial/figures/napi-android-demo-result.png create mode 100644 en/application-dev/tutorial/figures/napi-ios-demo-result.png create mode 100644 en/application-dev/tutorial/figures/napi-ios-signing.png create mode 100644 en/application-dev/tutorial/how-to-explore-native-interface-on-android.md create mode 100644 en/application-dev/tutorial/how-to-explore-native-interface-on-ios.md create mode 100644 en/application-dev/tutorial/how-to-use-napi-on-android.md create mode 100644 en/application-dev/tutorial/how-to-use-napi-on-ios.md diff --git a/en/application-dev/quick-start/ffi-napi-introduction.md b/en/application-dev/quick-start/ffi-napi-introduction.md new file mode 100644 index 0000000..d8d6fb3 --- /dev/null +++ b/en/application-dev/quick-start/ffi-napi-introduction.md @@ -0,0 +1,10 @@ +# FFI Capability (N-API) +## N-APIs Supported by ArkUI-X +Node-APIs provide a set of Native interfaces that encapsulate the underlying JavaScript runtime capabilities. The OpenHarmony N-API component re-implements the Node-APIs. ArkUI-X also has this capability and supports [some interfaces](../reference/native-lib/third_party_napi/napi.md). + +## Application Scenarios of N-APIs in ArkUI-X +In OpenHarmony, the N-APIs implement interaction between ArkTS/TS/JS and C/C++ (Native). ArkUI-X extends the N-APIs across platforms. You can use N-API capabilities on OpenHarmony, HarmonyOS, Android, and iOS platforms to complete cross-language project development. The typical application scenarios of N-APIs in ArkUI-X are the same as those in OpenHarmony. That is, you can: +1. Use N-APIs to encapsulate Native capabilities and expose the interfaces to the ArkTS/TS/JS layer, to make ArkTS/TS/JS call Native APIs. +2. Call the methods provided by ArkTS/TS/JS in Native code, that is, make Native APIs call ArkTS/TS/JS. + +For details about how to develop a Native project on ArkUI-X, see [How to Use N-APIs on Android](../tutorial/how-to-use-napis-on-android.md) and [How to Use N-APIs on iOS](../tutorial/how-to-use-napis-on-ios.md). diff --git a/en/application-dev/reference/native-apis/Readme-EN.md b/en/application-dev/reference/native-apis/README.md old mode 100755 new mode 100644 similarity index 71% rename from en/application-dev/reference/native-apis/Readme-EN.md rename to en/application-dev/reference/native-apis/README.md index ab2b2b2..c5af118 --- a/en/application-dev/reference/native-apis/Readme-EN.md +++ b/en/application-dev/reference/native-apis/README.md @@ -1,8 +1,10 @@ -# Native APIs +# Native API - Modules + - [Plugin Utils](_plugin_utils.md) - [Rawfile](rawfile.md) - Header Files + - [plugin_utils.h](plugin__utils_8h.md) - [raw_dir.h](raw__dir_8h.md) - [raw_file_manager.h](raw__file__manager_8h.md) - [raw_file.h](raw__file_8h.md) diff --git a/en/application-dev/reference/native-lib/third_party_napi/napi.md b/en/application-dev/reference/native-lib/third_party_napi/napi.md new file mode 100644 index 0000000..4acd8a1 --- /dev/null +++ b/en/application-dev/reference/native-lib/third_party_napi/napi.md @@ -0,0 +1,148 @@ +# Node-API + +## Overview + +Node-APIs provide a set of Native interfaces that encapsulate the underlying JavaScript runtime capabilities. + +## Supported Capabilities + +Node-APIs shield the differences between different underlying JavaScript engines and provide a set of stable interfaces. + +The OpenHarmony N-API component re-implements Node-APIs. ArkUI-X extends N-APIs across platforms to enable N-APIs to be used on OpenHarmony, HarmonyOS, Android, and iOS. The following table lists the supported interfaces in the [Node-API standard library](https://nodejs.org/docs/v14.9.0/api/n-api.html). + +## Extended Symbols of the N-API Component + +**Symbols Exported from the Node-API Library** + +|Type|Symbol|Description| +| --- | --- | --- | +|FUNC|napi_module_register|Registers the NAPI native module.| +|FUNC|napi_get_last_error_info|Obtains the **napi_extended_error_info** struct, which contains the latest error information.| +|FUNC|napi_throw|Throws a JS value.| +|FUNC|napi_throw_error|Throws a JS **Error** with text information.| +|FUNC|napi_throw_type_error|Throws a JS **TypeError** with text information.| +|FUNC|napi_throw_range_error|Throws a JS **RangeError** with text information.| +|FUNC|napi_is_error|Checks whether **napi_value** indicates an error object.| +|FUNC|napi_create_error|Creates a JS **Error** with text information.| +|FUNC|napi_create_type_error|Creates a JS **TypeError** with text information.| +|FUNC|napi_create_range_error|Creates a JS **RangeError** with text information.| +|FUNC|napi_get_and_clear_last_exception|Obtains and clears the latest exception.| +|FUNC|napi_is_exception_pending|Checks whether an exception occurs.| +|FUNC|napi_fatal_error|Raises a fatal error to terminate the process immediately.| +|FUNC|napi_open_handle_scope|Creates a context environment.| +|FUNC|napi_close_handle_scope|Closes the input context. After the context is closed, all **napi_values** declared in it will be reclaimed.| +|FUNC|napi_open_escapable_handle_scope|Creates an escapable handle scope, from which the declared values can be returned to the parent scope.| +|FUNC|napi_close_escapable_handle_scope|Closes the escapable handle scope passed in.| +|FUNC|napi_escape_handle|Promotes the handle to the input JS object so that it is valid for the lifespan of its parent scope.| +|FUNC|napi_create_reference|Creates a reference for **napi_value** to improve the JS object lifecycle. The caller needs to manage the reference lifespan.| +|FUNC|napi_delete_reference|Deletes the reference passed in.| +|FUNC|napi_reference_ref|Increments the reference count for the reference passed in and returns the count.| +|FUNC|napi_reference_unref|Decrements the reference count for the reference passed in and returns the count.| +|FUNC|napi_get_reference_value|Obtains the JS **Object** associated with the reference.| +|FUNC|napi_create_array|Creates a JS **Array**.| +|FUNC|napi_create_array_with_length|Creates a JS **Array** of the specified length.| +|FUNC|napi_create_arraybuffer|Creates a JS **ArrayBuffer** of the specified size.| +|FUNC|napi_create_external|Allocates a JS value with external data.| +|FUNC|napi_create_external_arraybuffer|Allocates a JS **ArrayBuffer** with external data.| +|FUNC|napi_create_object|Creates a default JS **Object**.| +|FUNC|napi_create_symbol|Create a JS **Symbol**.| +|FUNC|napi_create_typedarray|Creates a JS **TypeArray** from an existing **ArrayBuffer**.| +|FUNC|napi_create_dataview|Creates a JS **DataView** from an existing **ArrayBuffer**.| +|FUNC|napi_create_int32|Creates a JS **Number** from C **int32_t** data.| +|FUNC|napi_create_uint32|Creates a JS **Number** from C **uint32_t** data.| +|FUNC|napi_create_int64|Creates a JS **Number** from C **int64_t** data.| +|FUNC|napi_create_double|Creates a JS **Number** from C **double** data.| +|FUNC|napi_create_string_latin1|Creates a JS **String** from an ISO-8859-1-encoded C string.| +|FUNC|napi_create_string_utf8|Creates a JS **String** from a UTF8-encoded C string.| +|FUNC|napi_create_string_utf16|Creates a JS **String** from a UTF16-encoded C string.| +|FUNC|napi_get_array_length|Obtains the length of an array.| +|FUNC|napi_get_arraybuffer_info|Obtains the underlying data buffer of the **ArrayBuffer** and its length.| +|FUNC|napi_get_prototype|Obtains the prototype of the specified JS **Object**.| +|FUNC|napi_get_typedarray_info|Obtains properties of the specified **TypedArray**.| +|FUNC|napi_get_dataview_info|Obtains properties of the specified **DataView**.| +|FUNC|napi_get_value_bool|Obtains the C Boolean equivalent of the given JS **Boolean**.| +|FUNC|napi_get_value_double|Obtains the C double equivalent of the given JS **Number**.| +|FUNC|napi_get_value_external|Obtains the external data pointer previously passed through **napi_create_external()**.| +|FUNC|napi_get_value_int32|Obtains the C int32 equivalent of the given JS **Number**.| +|FUNC|napi_get_value_int64|Obtains the C int64 equivalent of the given JS **Number**.| +|FUNC|napi_get_value_string_latin1|Obtains the ISO-8859-1-encoded string corresponding to the given JS value.| +|FUNC|napi_get_value_string_utf8|Obtains the UTF8-encoded string corresponding to the given JS value.| +|FUNC|napi_get_value_string_utf16|Obtains the UTF16-encoded string corresponding to the given JS value.| +|FUNC|napi_get_value_uint32|Obtains the C uint32 equivalent of the given JS **Number**.| +|FUNC|napi_get_boolean|Obtains the JS Boolean object based on the given C Boolean value.| +|FUNC|napi_get_global|Obtains the **global** object.| +|FUNC|napi_get_null|Obtains the **null** object.| +|FUNC|napi_get_undefined|Obtains the **undefined** object.| +|FUNC|napi_coerce_to_bool|Forcibly converts the given JS value to a JS Boolean value.| +|FUNC|napi_coerce_to_number|Forcibly converts the given JS value to a JS number.| +|FUNC|napi_coerce_to_object|Forcibly converts the given JS value to a JS object.| +|FUNC|napi_coerce_to_string|Forcibly converts the given JS value to a JS string.| +|FUNC|napi_typeof|Obtains the JS type of the given JS value.| +|FUNC|napi_instanceof|Checks whether the given object is an instance of the specified constructor.| +|FUNC|napi_is_array|Checks whether the given JS value is an array.| +|FUNC|napi_is_arraybuffer|Checks whether the given JS value is a ArrayBuffer.| +|FUNC|napi_is_typedarray|Checks whether the given JS value is a **TypedArray**.| +|FUNC|napi_is_dataview|Checks whether the given JS value is a **DataView**.| +|FUNC|napi_is_date|Checks whether the given JS value is a JS **Date** object.| +|FUNC|napi_strict_equals|Checks whether two JS values are strictly equal.| +|FUNC|napi_get_property_names|Obtains the names of the enumerable properties of **Object** in an array of strings.| +|FUNC|napi_set_property|Sets a property for the given **Object**.| +|FUNC|napi_get_property|Obtains the requested property of the given **Object**.| +|FUNC|napi_has_property|Checks whether the given **Object** has the specified property.| +|FUNC|napi_delete_property|Deletes the **key** property from the given **Object**.| +|FUNC|napi_has_own_property|Checks whether the given **Object** has the own property named **key**.| +|FUNC|napi_set_named_property|Sets a property with the specified name for the given **Object**.| +|FUNC|napi_get_named_property|Obtains the property with the specified name in the given **Object**.| +|FUNC|napi_has_named_property|Checks whether the given **Object** has the property with the specified name.| +|FUNC|napi_set_element|Sets an element at the specified index of the given **Object**.| +|FUNC|napi_get_element|Obtains the element at the specified index of the given **Object**.| +|FUNC|napi_has_element|Obtains the element if the given **Object** has an element at the specified index.| +|FUNC|napi_delete_element|Deletes the element at the specified index of the given **Object**.| +|FUNC|napi_define_properties|Defines multiple properties for the given **Object**.| +|FUNC|napi_type_tag_object|Associates the value of the tag pointer with **Object**.| +|FUNC|napi_check_object_type_tag|Checks whether a tag pointer is associated with the JS **Object**.| +|FUNC|napi_call_function|Calls a JS function in a Native method, that is, Native calls JS.| +|FUNC|napi_create_function|Creates a Native method for JS to call.| +|FUNC|napi_get_cb_info|Obtains detailed information about the call, such as the parameters and **this** pointer, from the given callback info.| +|FUNC|napi_get_new_target|Obtains the **new.target** of the constructor call.| +|FUNC|napi_new_instance|Creates an instance based on the given constructor.| +|FUNC|napi_define_class|Defines a JS class corresponding to the C++ class.| +|FUNC|napi_wrap|Wraps a Native instance in a JS object.| +|FUNC|napi_unwrap|Obtains the Native instance that was previously wrapped in a JS object.| +|FUNC|napi_remove_wrap|Obtains the Native instance that was previously wrapped in a JS object and removes the wrapping.| +|FUNC|napi_create_async_work|Creates a work object that executes logic asynchronously.| +|FUNC|napi_delete_async_work|Releases an asynchronous work object.| +|FUNC|napi_queue_async_work|Adds an asynchronous work object to the queue so that it can be scheduled for execution.| +|FUNC|napi_cancel_async_work|Cancels the queued asynchronous work if it has not been started.| +|FUNC|napi_get_node_version|Obtains the current Node-API version.| +|FUNC|napi_get_version|Obtains the latest Node-API version supported when the Node.js runtime.| +|FUNC|napi_create_promise|Creates a deferred object and a JS promise.| +|FUNC|napi_resolve_deferred|Resolves a deferred object that is associated with a JS promise.| +|FUNC|napi_reject_deferred|Rejects a deferred object that is associated with a JS promise.| +|FUNC|napi_is_promise|Checks whether the given JS value is a promise object.| +|FUNC|napi_get_uv_event_loop|Obtains the current libuv loop instance.| +|FUNC|napi_create_threadsafe_function|Creates a thread-safe function.| +|FUNC|napi_get_threadsafe_function_context|Obtains the context of a thread-safe function.| +|FUNC|napi_call_threadsafe_function|Calls a thread-safe function.| +|FUNC|napi_acquire_threadsafe_function|Indicates that a thread starts to use a thread-safe function.| +|FUNC|napi_release_threadsafe_function|Indicates that a thread releases a thread-safe function.| +|FUNC|napi_ref_threadsafe_function|Indicates that the event loop running on the main thread should not exit until the thread-safe function is destroyed.| +|FUNC|napi_unref_threadsafe_function|Indicates that the event loop running on the main thread may exit before the thread-safe function is destroyed.| +|FUNC|napi_create_date|Creates a JS **Date** from C **double** data.| +|FUNC|napi_get_date_value|Obtains the C double equivalent of the given JS **Date**.| +|FUNC|napi_create_bigint_int64|Creates a JS **BigInt** from C **int64** data.| +|FUNC|napi_create_bigint_uint64|Creates a JS **BigInt** from C **uint64** data.| +|FUNC|napi_create_bigint_words|Creates a single JS **BigInt** from a C **uint64** array.| +|FUNC|napi_get_value_bigint_int64|Obtains the C **int64** equivalent of the given JS **BigInt**.| +|FUNC|napi_get_value_bigint_uint64|Obtains the C **uint64** equivalent of the given JS **BigInt**.| +|FUNC|napi_get_value_bigint_words|Obtains information from the given JS **BigInt**, including the sign bit, 64-bit little-endian array, and number of elements in the array.| +|FUNC|napi_create_buffer|Creates a JS **Buffer** instance of the specified size.| +|FUNC|napi_create_buffer_copy|Creates a JS **Buffer** instance of the specified size, and initializes it with data copied from the passed-in buffer.| +|FUNC|napi_create_external_buffer|Creates a JS **Buffer** instance of the specified size, and initializes it with the given data. The **Buffer** instance created can include extra.| +|FUNC|napi_get_buffer_info|Obtains the underlying data of **Buffer** and its length.| +|FUNC|napi_is_buffer|Checks whether the given JS value is a **Buffer** object.| +|FUNC|napi_object_freeze|Freezes the given object.| +|FUNC|napi_object_seal|Seals the given object.| +|FUNC|napi_get_all_property_names|Obtains an array containing the names of all the available properties of this object.| +|FUNC|napi_detach_arraybuffer|Detaches the underlying data of the given **ArrayBuffer**.| +|FUNC|napi_is_detached_arraybuffer|Checks whether the given **ArrayBuffer** has been detached.| diff --git a/en/application-dev/tools/how-to-use-arkui-x-sdk.md b/en/application-dev/tools/how-to-use-arkui-x-sdk.md new file mode 100644 index 0000000..eed20a3 --- /dev/null +++ b/en/application-dev/tools/how-to-use-arkui-x-sdk.md @@ -0,0 +1,39 @@ +# ArkUI-X SDK + +ArkUI-X extends the OpenHarmony ArkUI development framework to different OS platforms like Android and iOS. This way, you can reuse most of the application code (UI and main application logic) based on ArkUI and deploy the code on your OS. + +The ArkUI SDK contains the engine library, plug-in library, and command line tool used to develop ArkUI-X applications. For details about how to obtain the ArkUI-X SDK, see [Acquiring SDK from Mirrors](../../release-notes/ArkUI-X-v1.0.0-canary1.md#acquiring-sdk-from-mirrors). + +## ArkUI-X SDK Components + +The ArkUI-X SDK provides the basic engine library, plug-in library, toolchain, and SDK configuration description files. When DevEco Studio or ACE Tools is used, configure the ArkUI-X SDK based on the following directory structure. + +``` +Path-to-arkui-x-sdk +├── versioncode // Value of apiVersion in the arkui-x.json file in the ArkUI-X SDK root directory. The value is 10. +│ └── arkui-x +│ ├── engine // ArkUI-X SDK engine. +│ │ ├── lib // Dependency of ArkUI-X Android application integration. +│ │ ├── framework // Dependency of ArkUI-X iOS application integration. +│ │ ├── xcframework // Dependency of ArkUI-X iOS application integration. +│ │ ├── ets // New ArkUI-X APIs, for example, @arkui-x.bridge. +│ │ ├── apiConfig.json // Engine library configuration file, which is parsed by IDE and ACE Tools to support on-demand packaging in application build. +│ │ └── systemres // OpenHarmony/HarmonyOS system resources, which support ArkUI-X cross-platform UX consistency. +│ ├── plugins // ArkUI-X SDK plug-ins. +│ │ ├── component // ArkUI component plug-in library and the apiConfig.json file. +│ │ └── api // @ohos API plug-in library and the apiConfig.json file. +│ ├── toolchains // Toolchains, such as ACE Tools. +│ ├── sdkConfig.json // incremental d.ts path and API prefix configuration. +│ ├── arkui-x.json // SDK management configuration, which is automatically generated by the pipeline. +│ └── NOTICE.txt +└── licenses // ArkUI-X SDK agreement to be accepted before the ArkUI-X SDK is downloaded. + ├── ArkUI-X-SDK + └── ArkUI-X-SDK.sha256 +``` + +>**NOTE**
For details about the ArkUI-X SDK directory structure, see [ArkUI-X SDK Directory Structure](../quick-start/sdk-structure-guide.md). + +## ArkUI-X Command Line Tool + +[ACE Tools](../quick-start/start-with-ace-tools.md) is a command line tool provided for ArkUI-X application developers. You can use it to check the development environment check, create a project, build an application, and install, run, and debug your application. + diff --git a/en/application-dev/tutorial/figures/napi-android-demo-result.png b/en/application-dev/tutorial/figures/napi-android-demo-result.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6f161ddc749244e0e25a4e10ca4fcf51baa07c GIT binary patch literal 63573 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 Q`PO+y+vrxsjk{6*1=|GrD*ylh literal 0 HcmV?d00001 diff --git a/en/application-dev/tutorial/figures/napi-ios-demo-result.png b/en/application-dev/tutorial/figures/napi-ios-demo-result.png new file mode 100644 index 0000000000000000000000000000000000000000..41c74cafcfcf99b021c0d238260d40fddb768840 GIT binary patch literal 73490 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%0DksU+s_nzRtC`rSj$Sl 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Þ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

~@;v3Yi|A^=)Pc=$;Ja2T32T)o=trBj)P$_}re& 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 Qga7~l07*qoM6N<$g3lZsfdBvi literal 0 HcmV?d00001 diff --git a/en/application-dev/tutorial/figures/napi-ios-signing.png b/en/application-dev/tutorial/figures/napi-ios-signing.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3b26b1258a14346d179b3e04c407e515f093ae GIT binary patch literal 78466 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

#j&(4=rLpMlSnG4k&B- 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 literal 0 HcmV?d00001 diff --git a/en/application-dev/tutorial/how-to-explore-native-interface-on-android.md b/en/application-dev/tutorial/how-to-explore-native-interface-on-android.md new file mode 100644 index 0000000..6372b92 --- /dev/null +++ b/en/application-dev/tutorial/how-to-explore-native-interface-on-android.md @@ -0,0 +1,425 @@ +# Extending Native APIs on Android + +This tutorial describes how to call Android methods from ArkUI based on the [N-API](../quick-start/ffi-napi-introduction.md) mechanism and plug-in management mechanism on Android. + +## Interface Definition + +Implement the **log** method of the **testplugin** module to call the Android log system and print data from ArkUI. + +| Name| Type| Return Type| Description| +| --- | --- | --- | --- | +| log | string | void | Print data from ArkUI on Android.| + +## How to Develop + +1. Use [ACE Tools](../quick-start/start-overview.md) or IDE to create a Native project. + +``` +// Use ACE Tools to create a Native project. +ace create project +? Please enter the project name: testplugin +? Please enter the bundle name (com.example.testplugin): +? Please enter the system (1: OpenHarmony, 2: HarmonyOS): 1 +? Please enter the template (1: Empty Ability, 2: Native C++): 2 +``` + +2. Import the Native .so file to ArkUI. For example, in the **testplugin\source\entry\src\main\ets\pages\Index.ets** file, **import testplugin from 'libtestplugin.so'** means to use the **libtestplugin.so** capability in ArkUI. Then, provide the ArkUI object named **testplugin** to the application. You can use this object to develop Java plug-ins based on the plug-in management mechanism and finally call the Java **log** method developed in the **testplugin\android\app\src\main\java\com\example\testplugin\TestPlugin.java**. + +```typescript +// Index.ets + +import testplugin from 'libtestplugin.so'; + +testplugin.log("log from ArkUI to Android"); +``` + +3. Implement the **log** method of the **testplugin** module. After that, you can call the **log** method on ArkTS to invoke Android log system and print data from ArkUI. + +## Implementing the Module + +The essence of calling Android Java APIs is to enable ArkTS to call Java APIs. The recommended path for API calling is ArkTS -> C/C++ -> Java. Specifically, implement the Java method on Android, register the Java module using the Java Native Interface (JNI) mechanism, and then register the C/C++ module using the [N-API](../quick-start/ffi-napi-introduction.md#n-api) mechanism for the ArkTS to call. + +### 1. Implementing the Java log Method + +```Java +// android\app\src\main\java\com\example\testplugin\TestPlugin.java + +package com.example.testplugin; + +import android.content.Context; +import android.util.Log; + +public class TestPlugin { + private static final String LOG_TAG = "TestPlugin"; + + // Plugin constructor, which is called by the plugin registration module. + public TestPlugin(Context context) { + // Call the initialization method of the plugin. + nativeInit(); + } + + // Implement the log module. + public void log(String log) { + Log.i(LOG_TAG, log); + } + + // Register the initialization method of the plugin for the plugin constructor to call. + protected native void nativeInit(); +} +``` + +### 2. Invoking the Java log Method Using JNI + +1. Register a Java module on C/C++.
This operation enables C/C++ to call Java because JNI allows interaction between Java code and C/C++ code. + +> **NOTE** +> +> In the Native template of ACE Tools or IDE, files in the SDK **arkui-x\engine\lib\include** directory are stored in the **android\app\src\main\cpp\include** directory. + +```C++ +// android\app\src\main\cpp\test_plugin_jni.cpp + +#include "test_plugin_jni.h" + +#include + +// android\app\src\main\cpp\include\plugin_utils.h defines common APIs for plug-in registration. +#include "plugin_utils.h" + +namespace { + const char TEST_PLUGIN_CLASS_NAME[] = "com/example/testplugin/TestPlugin"; + + static const JNINativeMethod METHODS[] = { + { "nativeInit", "()V", reinterpret_cast(TestPluginJni::NativeInit) }, + }; + + const char METHOD_LOG[] = "log"; + const char SIGNATURE_LOG[] = "(Ljava/lang/String;)V"; + + struct { + jmethodID log; + jobject globalRef; + } g_pluginClass; + +} + +bool TestPluginJni::Register(void* env) +{ + auto* jniEnv = static_cast(env); + jclass cls = jniEnv->FindClass(TEST_PLUGIN_CLASS_NAME); + + // Register the nativeInit function. + bool ret = jniEnv->RegisterNatives(cls, METHODS, sizeof(METHODS) / sizeof(METHODS[0])) == 0; + jniEnv->DeleteLocalRef(cls); + if (!ret) { + return false; + } + return true; +} + +// Called by Java +void TestPluginJni::NativeInit(JNIEnv* env, jobject jobj) +{ + g_pluginClass.globalRef = env->NewGlobalRef(jobj); + jclass cls = env->GetObjectClass(jobj); + + // Obtain the method ID of the log method. + g_pluginClass.log = env->GetMethodID(cls, METHOD_LOG, SIGNATURE_LOG); + env->DeleteLocalRef(cls); +} + +// Called by C++ +void TestPluginJni::Log(std::string log) +{ + auto env = ARKUI_X_Plugin_GetJniEnv(); + jstring jLog = env->NewStringUTF(log.c_str()); + + // Invoke the Java log method using JNI. + env->CallVoidMethod(g_pluginClass.globalRef, g_pluginClass.log, jLog); + + if (jLog != nullptr) { + env->DeleteLocalRef(jLog); + } + + if (env->ExceptionCheck()) { + env->ExceptionDescribe(); + env->ExceptionClear(); + } +} +``` + +```C++ +// android\app\src\main\cpp\test_plugin_jni.h + +#ifndef ANDROID_APP_SRC_MAIN_CPP_TEST_PLUGIN_JNI_H +#define ANDROID_APP_SRC_MAIN_CPP_TEST_PLUGIN_JNI_H + +#include +#include +#include + +class TestPluginJni { +public: + TestPluginJni() = delete; + ~TestPluginJni() = delete; + static bool Register(void* env); + // Called by Java + static void NativeInit(JNIEnv* env, jobject jobj); + // Called by C++ + static void Log(std::string log); +}; + +#endif +``` + +Encapsulate the JNI method. + +```C++ +// android\app\src\main\cpp\test_plugin_impl.cpp + +#include "test_plugin_impl.h" + +#include + +#include "plugin_utils.h" +#include "test_plugin_jni.h" + +std::unique_ptr TestPlugin::Create() +{ + return std::make_unique(); +} + +void TestPluginImpl::Log(std::string log) +{ + TestPluginJni::Log(log); +} +``` + +```C++ +// android\app\src\main\cpp\test_plugin_impl.h + +#ifndef ANDROID_APP_SRC_MAIN_CPP_TEST_PLUGIN_IMPL_H +#define ANDROID_APP_SRC_MAIN_CPP_TEST_PLUGIN_IMPL_H + +#include + +#include "test_plugin.h" + +class TestPluginImpl final : public TestPlugin { +public: + TestPluginImpl() = default; + ~TestPluginImpl() override = default; + + void Log(std::string log) override; +}; + +#endif +``` + +### 3. Registering the Java Method and testplugin + +Register the Java method using the plug-in mechanism and register the **testplugin** module using the N-API mechanism to provide the ArkTS log method. + +Implement the C/C++ module corresponding to **testplugin.log**. + +```C++ +// android\app\src\main\cpp\js_test_plugin.cpp + +#include + +#include "napi/native_api.h" +#include "node_api.h" +#include "plugin_utils.h" + +#include "test_plugin.h" + +#ifdef ANDROID_PLATFORM +#include "test_plugin_jni.h" +#endif + +#define NAPI_CALL_BASE(env, theCall, retVal) \ + do { \ + if ((theCall) != napi_ok) { \ + return retVal; \ + } \ + } while (0) + +#define NAPI_CALL(env, theCall) NAPI_CALL_BASE(env, theCall, nullptr) + +static napi_value JSTestPluginLog(napi_env env, napi_callback_info info) +{ + // Create a TestPlugin instance. + auto plugin = TestPlugin::Create(); + if (!plugin) { + return nullptr; + } + + size_t argc = 1; + napi_value args[1]; + NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, NULL, NULL)); + char buffer[128]; + size_t buffer_size = 128; + size_t copied; + NAPI_CALL(env, napi_get_value_string_utf8(env, args[0], buffer, buffer_size, &copied)); + + std::string log; + log = buffer; + + // Call the C++ API. The Log function finally calls TestPluginJni::Log. + plugin->Log(log); + return nullptr; +} +``` + +```C++ +// android\app\src\main\cpp\test_plugin.h + +#ifndef ANDROID_APP_SRC_MAIN_CPP_TEST_PLUGIN_H +#define ANDROID_APP_SRC_MAIN_CPP_TEST_PLUGIN_H + +#include +#include + +class TestPlugin { +public: + TestPlugin() = default; + virtual ~TestPlugin() = default; + + static std::unique_ptr Create(); + + virtual void Log(std::string log) = 0; +}; + +#endif +``` + +Implement the module export entry function. + +```C++ +// android\app\src\main\cpp\js_test_plugin.cpp + +#define DECLARE_NAPI_FUNCTION(name, func) \ + { \ + (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, nullptr \ + } + +static napi_value TestPluginExport(napi_env env, napi_value exports) +{ + static napi_property_descriptor desc[] = { + DECLARE_NAPI_FUNCTION("log", JSTestPluginLog), + }; + NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc)); + return exports; +} +``` + +Implement the plug-in JNI registration function. + +```C++ +// android\app\src\main\cpp\js_test_plugin.cpp + +// ANDROID_PLATFORM is a macro specific to Android. +#ifdef ANDROID_PLATFORM +static void TestPluginJniRegister() +{ + const char className[] = "com.example.testplugin.TestPlugin"; + + // ARKUI_X_Plugin_RegisterPlugin provided by the framework registers the plugin JNI environment. + ARKUI_X_Plugin_RegisterJavaPlugin(&TestPluginJni::Register, className); +} +#endif +``` + +Register the module. + +```C++ +// android\app\src\main\cpp\js_test_plugin.cpp + +static napi_module testPluginModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = TestPluginExport, + .nm_modname = "testplugin", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void TestPluginRegister() +{ + // Register the testPlugin module for ArkTS to call. + napi_module_register(&testPluginModule); +#ifdef ANDROID_PLATFORM + // The JNI plugin registration function runs in the Platform thread. + ARKUI_X_Plugin_RunAsyncTask(&TestPluginJniRegister, ARKUI_X_PLUGIN_PLATFORM_THREAD); +#endif +} +``` + +### Appendix: Compilation Configuration Reference + +#### 1. CMakeLists + +```C++ +// android\app\src\main\cpp\CMakeLists.txt + +cmake_minimum_required(VERSION 3.18.1) + +project("testplugin") + +// Add the ANDROID_PLATFORM macro. +add_definitions(-DANDROID_PLATFORM) + +// Default configuration of the Native template. +set(TESTPLUGIN_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +// Default configuration of the Native template. +include_directories( + ${TESTPLUGIN_ROOT_PATH} + ${TESTPLUGIN_ROOT_PATH}/include +) + +// Build libtestplugin.so. +add_library(testplugin SHARED test_plugin_impl.cpp test_plugin_jni.cpp js_test_plugin.cpp) + +add_library(arkui_android SHARED IMPORTED GLOBAL) +set_target_properties( + arkui_android + PROPERTIES IMPORTED_LOCATION + ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${CMAKE_ANDROID_ARCH_ABI}/libarkui_android.so +) + +target_link_libraries(testplugin PUBLIC arkui_android libc++.a) +``` + +#### 2. build.gradle + +```C++ +// android\app\build.gradle + +android { + defaultConfig { + ...... + + ndk { + abiFilters "arm64-v8a" + } + externalNativeBuild { + cmake { + cppFlags '' + } + } + } + + packagingOptions { + pickFirst 'lib/arm64-v8a/libarkui_android.so' + } + + externalNativeBuild { + cmake { + path file('src/main/cpp/CMakeLists.txt') + version '3.18.1' + } + } +} +``` diff --git a/en/application-dev/tutorial/how-to-explore-native-interface-on-ios.md b/en/application-dev/tutorial/how-to-explore-native-interface-on-ios.md new file mode 100644 index 0000000..2488fbe --- /dev/null +++ b/en/application-dev/tutorial/how-to-explore-native-interface-on-ios.md @@ -0,0 +1,252 @@ +# Extending Native APIs on iOS + +This tutorial describes how to call Android methods from ArkUI based on the [N-API](../quick-start/ffi-napi-introduction.md) mechanism and plug-in management mechanism on iOS. + +## Interface Definition + +Implement the **log** method of the **testplugin** module to call the iOS log system and print data from ArkUI. + +| Name| Type| Return Type| Description| +| --- | --- | --- | --- | +| log | string | void | Print data from ArkUI on iOS.| + +## How to Develop + +1. Use ACE Tools(../quick-start/start-overview.md) or IDE to create a Native project. + +``` +// Use ACE Tools to create a Native project. +ace create project +? Please enter the project name: testplugin +? Please enter the bundle name (com.example.testplugin): +? Please enter the system (1: OpenHarmony, 2: HarmonyOS): 1 +? Please enter the template (1: Empty Ability, 2: Native C++): 2 +``` + +2. Import the Native .so file to ArkUI. For example, in the **testplugin\source\entry\src\main\ets\pages\Index.ets** file, **import testplugin from 'libtestplugin.so'** means to use the **libtestplugin.so** capability in ArkUI. Then, provide the ArkUI object named **testplugin** to the application. You can use this object to develop Objective-C (OC) plug-ins based on the plug-in management mechanism and finally call the OC **log** method developed in the **testplugin\ios\app\ios_test_plugin.m**. + +```typescript +// Index.ets + +import testplugin from 'libtestplugin.so'; + +testplugin.log("log from ArkUI to iOS"); +``` + +3. Implement the **log** method of the **testplugin** module. After that, you can call the **log** method on ArkTS to invoke iOS log system and print data from ArkUI. + +## Implementing the Module + +The essence of calling iOS OC APIs is to enable ArkTS to call OC APIs. The recommended path for API calling is ArkTS -> C/C++ -> OC. Specifically, implement the OC API on iOS, encapsulate the OC API in C/C++, and then register the C/C++ module using the [N-API](../quick-start/ffi-napi-introduction.md#n-api) mechanism for the ArkTS to call. + +### 1. Implementing the OC log Method + +```Objective-C +// ios\app\ios_test_plugin.m + +#import "ios_test_plugin.h" + +@implementation iOSTestPlugin + ++ (instancetype)shareinstance{ + static dispatch_once_t onceToken; + static iOSTestPlugin *instance = nil; + dispatch_once(&onceToken, ^{ + instance = [iOSTestPlugin new]; + }); + return instance; +} + +// Implement the log module. +-(void)log: (NSString*) log{ + NSLog(@"%@", log); +} + +@end +``` + +```Objective-C +// ios\app\ios_test_plugin.h + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface iOSTestPlugin : NSObject + ++(instancetype)shareinstance; +-(void)log: (NSString*) log; + +@end + +NS_ASSUME_NONNULL_END +``` + +### 2. Implementing the OC log Method Called by C/C++ + +> **NOTE** +> +> In the Native template of ACE Tools or IDE, ensure that the header file in SDK libarkui_ios is referenced. + +```C++ +// ios\app\test_plugin_impl.mm + +#include "test_plugin_impl.h" + +#include + +// plugin_utils.h in libarkui_ios defines common interfaces for plug-in registration. +#include + +#import "ios_test_plugin.h" + +std::unique_ptr TestPlugin::Create() +{ + return std::make_unique(); +} + +void TestPluginImpl::log(std::string log) +{ + NSString* ocLog = [NSString stringWithCString:log.c_str() encoding:NSUTF8StringEncoding]; + [[iOSTestPlugin shareinstance] log: ocLog]; +} +``` + +```C++ +// ios\app\test_plugin_impl.h + +#ifndef IOS_APP_TEST_PLUGIN_IMPL_H +#define IOS_APP_TEST_PLUGIN_IMPL_H + +#include +#include + +#include "test_plugin.h" + +class TestPluginImpl final : public TestPlugin { +public: + TestPluginImpl() = default; + ~TestPluginImpl() override = default; + + void Log(std::string log) override; +}; + +#endif +``` + +### 3. Registering the testplugin Module + +Register the testplugin module using the N-API mechanism to provide the ArkTS log method. + +Implement the C/C++ module corresponding to **testplugin.log**. + +```C++ +// ios\app\js_test_plugin.cpp + +#include + +// The include in libarkui_ios defines the N-APIs. +#include +#include + +#include + +#include "test_plugin.h" + +#define NAPI_CALL_BASE(env, theCall, retVal) \ + do { \ + if ((theCall) != napi_ok) { \ + return retVal; \ + } \ + } while (0) + +#define NAPI_CALL(env, theCall) NAPI_CALL_BASE(env, theCall, nullptr) + +static napi_value JSTestPluginLog(napi_env env, napi_callback_info info) +{ + // Create a TestPlugin instance. + auto plugin = TestPlugin::Create(); + if (!plugin) { + return nullptr; + } + + size_t argc = 1; + napi_value args[1]; + NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, NULL, NULL)); + char buffer[128]; + size_t buffer_size = 128; + size_t copied; + NAPI_CALL(env, napi_get_value_string_utf8(env, args[0], buffer, buffer_size, &copied)); + + std::string log; + log = buffer; + + // Invoke the C++ interface. The Log function finally calls the log method of iOSTestPlugin. + plugin->Log(log); + return nullptr; +} +``` + +```C++ +// ios\app\test_plugin.h + +#ifndef IOS_APP_TEST_PLUGIN_H +#define IOS_APP_TEST_PLUGIN_H + +#include +#include + +class TestPlugin { +public: + TestPlugin() = default; + virtual ~TestPlugin() = default; + + static std::unique_ptr Create(); + + virtual void Log(std::string log) = 0; +}; + +#endif +``` + +Implement the module export entry function. + +```C++ +// ios\app\js_test_plugin.cpp + +#define DECLARE_NAPI_FUNCTION(name, func) \ + { \ + (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, nullptr \ + } + +static napi_value TestPluginExport(napi_env env, napi_value exports) +{ + static napi_property_descriptor desc[] = { + DECLARE_NAPI_FUNCTION("log", JSTestPluginLog), + }; + NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc)); + return exports; +} +``` + +Register the module. + +```C++ +// ios\app\js_test_plugin.cpp + +static napi_module testPluginModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = TestPluginExport, + .nm_modname = "testplugin", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void TestPluginRegister() +{ + // Register the testPlugin module for ArkTS to call. + napi_module_register(&testPluginModule); +} +``` diff --git a/en/application-dev/tutorial/how-to-use-napi-on-android.md b/en/application-dev/tutorial/how-to-use-napi-on-android.md new file mode 100644 index 0000000..84b7706 --- /dev/null +++ b/en/application-dev/tutorial/how-to-use-napi-on-android.md @@ -0,0 +1,219 @@ +# Using N-APIs on Android + +The N-APIs implement interaction between ArkTS/TS/JS and C/C++ (Native). For details about the N-APIs supported by ArkUI-X and their application scenarios, see [FFI (N-API)](../quick-start/ffi-napi-introduction.md). This tutorial uses the sample Native project in [ArkUI-X/Samples](https://gitee.com/arkui-x/samples) as an example to describe how to use N-APIs to implement cross-language invocation on Android. + +## How to Develop + +The development process is as follows: +1. Set up the environment, that is, obtain the Native project. +2. Implement Native APIs.
Use N-APIs to provide Native capabilities and enable Native APIs to call the methods passed by ArkTS/TS/JS. +3. Declare API definitions.
Add the declaration of the Native APIs exposed to ArkTS. +4. Call Native APIs.
Enable ArkTS/TS/JS to call Native APIs. +5. Build and run the application.
Build the application and run it on Android. + +The following two examples are provided to describe the typical application scenarios of N-APIs by modifying the sample project: +1. Define a Native method named **Add**, which is called by ArkTS with two numbers passed in. The **Add** method adds the two numbers and returns the result to ArkTS. This example describes how to enable ArkTS to call Native methods. +2. Define a Native method named **NativeCallArkTS**, which is called by ArkTS with an ArkTS function passed in. The **NativeCallArkTS** method invokes this ArkTS function and returns the result to ArkTS. This example describes how to enable Native to call ArkTS methods. + +### 1. Setting Up the Environment +Obtain the sample Native project from [ArkUI-X/Samples](https://gitee.com/arkui-x/samples) and use DevEco Studio (V4.0 Beta2 or later) to open the project. The opened project is automatically initialized. + +### 2. Implementing Native APIs + +Develop Native capabilities in N-APIs. In addition, **NativeCallArkTS** in this example demonstrates how Native invokes ArkTS. +```C++ +// entry\src\main\cpp\hello.cpp contains the Native logic. +// Include the N-API header file. +#include "napi/native_api.h" + +// Native method, which has only two input parameters. You do not need to modify them. +// napi_env is the current running context. +// napi_callback_info contains related information, including parameters passed from ArkTS. +static napi_value Add(napi_env env, napi_callback_info info) +{ + // Number of parameters to be obtained from ArkTS. napi_value can be regarded as the representation of the ArkTS value in the N-API method. + size_t argc = 2; + napi_value args[2] = {nullptr}; + + // Obtain the parameters passed from ArkTS in info(). In this example, two ArkTS parameters, arg[0] and arg[1], are obtained. + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + // Obtain the type of arg[0]. + napi_valuetype valuetype0 = napi_undefined; + napi_typeof(env, args[0], &valuetype0); + + // Obtain the type of arg[1]. + napi_valuetype valuetype1 = napi_undefined; + napi_typeof(env, args[1], &valuetype1); + + // Verify the input parameters. If the input parameters are not number, return undefined. + if ((valuetype0 != napi_number) || (valuetype1 != napi_number)) { + napi_value undefined = nullptr; + napi_get_undefined(env, &undefined); + return undefined; + } + + // Convert the obtained ArkTS parameters to the type that can be processed by Native APIs. In this example, the two numbers passed from ArkTS are converted to the double type. + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + // Native API service logic, which is adding two numbers in this example. + double nativeSum = value0 + value1; + + // Convert the service logic processing result of the Native API to an ArkTS value and return the value to ArkTS. + napi_value sum = nullptr; + napi_create_double(env, nativeSum , &sum); + return sum; +} + +static napi_value NativeCallArkTS(napi_env env, napi_callback_info info) +{ + // Number of parameters to be obtained from ArkTS. napi_value can be regarded as the representation of the ArkTS value in the Native method. + size_t argc = 1; + napi_value args[1] = {nullptr}; + + // From info(), obtain the parameters passed from ArkTS. In this example, one ArkTS parameter, arg[0], is obtained. + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + // Obtain the type of arg[0]. + napi_valuetype valuetype = napi_undefined; + napi_typeof(env, args[0], &valuetype); + + // Verify the input parameter type. + if (valuetype != napi_function) { + napi_value undefined = nullptr; + napi_get_undefined(env, &undefined); + return undefined; + } + + // Create an ArkTS string as the input parameter of the ArkTS function. + napi_value argv = nullptr; + // Create a JS string. + napi_create_string_utf8(env, "hello", NAPI_AUTO_LENGTH, &argv); + + napi_value result = nullptr; + // Invoke the ArkTS function in the Native method, save the return value in result, and return result to ArkTS. + napi_call_function(env, nullptr, args[0], 1, &argv, &result); + + return result; +} + +EXTERN_C_START +// Init() hooks Native methods, such as Add and NativeCallArkTS, in exports. exports is an ArkTS object obtained after you import the Native APIs. +static napi_value Init(napi_env env, napi_value exports) +{ + // Function description struct. The third parameter "Add" is the Native method. + // The first parameter "add" is the name of the ArkTS method. + napi_property_descriptor desc[] = { + { "add", nullptr, Add, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "nativeCallArkTS", nullptr, NativeCallArkTS, nullptr, nullptr, nullptr, napi_default, nullptr }, + }; + // Hook the Native method to the ArkTS object exports. + napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); + return exports; +} +EXTERN_C_END + +// Information about the module. Record information such as the Init() function and module name. +static napi_module demoModule = { + .nm_version =1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "entry", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +// When the .so file is opened, the function is automatically called to register the demoModule module. +extern "C" __attribute__((constructor)) void RegisterHelloModule(void) +{ + napi_module_register(&demoModule); +} +``` +### 3. Declaring API Definitions +Declare the Native APIs to be exposed to ArkTS in the d.ts file. +```js +// entry\src\main\cpp\types\libentry\index.d.ts contains the declaration of the Native APIs exposed to ArkTS. +// Declare the Native APIs to be exposed to ArkTS. +export const add: (a: number, b: number) => number; +export const nativeCallArkTS: (a: object) => string; +``` + +### 4. Calling Native APIs +Call Native APIs on ArkTS/TS/JS. +1. The **entry.add** API implements the ArkTS -> Native invocation. +2. The **entry.nativeCallArkTS** API implements ArkTS -> Native -> ArkTS invocation. +```js +// entry\src\main\ets\pages\Index.ets contains the ArkTS logic. +// Import the Native APIs. +import entry from 'libentry.so' + +function TestFunction(str) { + let ret = str + ' world!' + return ret; +} + +@Entry +@Component +struct Index { + @State message: string = 'Test native api: 2 + 3 = ?' + @State message2: string = 'Click me' + + build() { + Row() { + Column() { + // The first button calls the add() method, which uses the Native Add() method to add the two numbers. + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .onClick(() => { + this.message = "Test native api: 2 + 3 = " + entry.add(2, 3); + console.log("Test NAPI 2 + 3 = " + entry.add(2, 3)); + }) + // The second button calls the nativeCallArkTS() method, which uses the Native NativeCallArkTS method to execute the ArkTS function. + Text(this.message2) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .onClick(() => { + this.message2 = entry.nativeCallArkTS(TestFunction); + }) + } + .width('100%') + } + .height('100%') + } +} +``` + +### 5. Building and Running the Application +On DevEco Studio (V4.0 Beta2 or later), choose **Build** > **Build Hap(s)/APP(s)** > **Build APP(s)** to build the application. Use Android Studio to open the **.arkui-x\android** folder of the Native project and click **Run app** to run the application. After the application runs, click the texts on the page. +![Running Effect](./figures/napi-android-demo-result.png) + +## Development Guidelines + +### Registration + +* To prevent conflicts with symbols in the .so file, add "static" to the function (such as the Init() function) corresponding to **nm_register_func**. +* The entry of module registration, that is, the function name modified by **\_\_attribute\_\_((constructor))** (for example, the **RegisterHelloModule** function), must be unique. + +### .so Naming Rules + +The .so file names must comply with the following rules: + +* Each module has a .so file. +* For example, if the module name is **entry**, the name of the .so file is **libentry.so**. The **nm_modname** field in **napi_module** must be **entry**. The case of the **nm_modname** field must be the same as that of the module name. When importing the module, use **import entry from 'libentry.so'**. + +### Constraints on JS Object Threads + +The ArkCompiler protects JS object threads. Improper use may cause an application crash. Observe the following rules: + +* The N-APIs can be used only by JS threads. +* The Native API input parameter **env** is bound to the thread and cannot be used across threads. The JS object created by a Native API can be used only in the thread, in which the object is created, that is, the JS object is bound to the **env** of the thread. + +### Header File Import + +Import **napi/native_api.h**. Otherwise, an error indicating that the N-API cannot be found will be reported. diff --git a/en/application-dev/tutorial/how-to-use-napi-on-ios.md b/en/application-dev/tutorial/how-to-use-napi-on-ios.md new file mode 100644 index 0000000..48a256f --- /dev/null +++ b/en/application-dev/tutorial/how-to-use-napi-on-ios.md @@ -0,0 +1,15 @@ +# Using N-APIs on iOS + +The N-APIs implement interaction between ArkTS/TS/JS and C/C++ (Native). For details about the N-APIs supported by ArkUI-X and their application scenarios, see [FFI (N-API)](../quick-start/ffi-napi-introduction.md). The use of N-APIs on iOS is the same as that on Android except the build and running of applications. This tutorial elaborates how to build and run an application using N-APIs on iOS platform. For details about other steps, see [Using N-APIs on Android](./how-to-use-napi-on-android.md). + +### Building and Running the Application +Different from the application build and running on Android, the Native projects built and run on iOS must be signed. The procedure is as follows: +1. On DevEco Studio (V4.0 Beta2 or later), choose **Build** > **Build Hap(s)/APP(s)** > **Build APP(s)** to build an application. + +2. Use the Xcode tool to open the **.arkui-x\ios** file and sign the file using Xcode. + + ![signing](./figures/napi-ios-signing.png) + +3. Click the **Run** button in Xcode to run the application. + +![Result](./figures/napi-ios-demo-result.png) -- Gitee