diff --git a/README.md b/README.md index caf1336..741ba5e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ > This project is in progress, and the API is not stable. -`openharmony-ability` provides Rust-side lifecycle management and ArkTS-side entry helpers for OpenHarmony applications, similar in spirit to `android-activity`. +`openharmony-ability` provides native integration helpers for OpenHarmony applications: Rust-side lifecycle management plus ArkTS-side entry helpers that can be shared by Rust and C/SDL native modules. ## Architecture @@ -17,7 +17,7 @@ OpenHarmony applications are driven by callbacks, so there are two important con - `crates/ability` — Rust lifecycle/runtime support - `crates/derive` — `#[ability]` macro -- `ability_rust` — ArkTS package source for `@ohos-rs/ability` +- `native_ability` — ArkTS package source shared by Rust and C/SDL native modules - `package` — packaged ohpm artifact source - `demo` — unified Harmony demo project - `rust_example/demo_native` — unified native demo implementation @@ -34,7 +34,7 @@ cargo add napi-derive-ohos cargo add napi-build-ohos ``` -2. Implement your native entry: +2. Implement your native entry (Rust example): ```rust use ohos_hilog_binding::hilog_info; @@ -49,14 +49,14 @@ fn openharmony_app(app: OpenHarmonyApp) { } ``` -3. Use `RustAbility` in ArkTS: +3. Use `NativeAbility` in ArkTS: ```ts -import { RustAbility } from "@ohos-rs/ability"; +import { NativeAbility } from "@ohos-rs/ability"; import Want from "@ohos.app.ability.Want"; import { AbilityConstant } from "@kit.AbilityKit"; -export default class EntryAbility extends RustAbility { +export default class EntryAbility extends NativeAbility { public moduleName: string = "demo_native"; async onCreate( @@ -78,8 +78,8 @@ ohrs build --arch arm64 ## Demo - Harmony demo project: `demo` -- Native demo module: `rust_example/demo_native/src/lib.rs` -- ArkTS package source: `ability_rust` +- Native demo module (Rust example): `rust_example/demo_native/src/lib.rs` +- ArkTS package source: `native_ability` ## License diff --git a/crates/ability/README.md b/crates/ability/README.md index 6ec626b..e420a9f 100644 --- a/crates/ability/README.md +++ b/crates/ability/README.md @@ -2,11 +2,11 @@ ## Introduce -openharmony-ability is a crate for the OpenHarmony/HarmonyNext ability. It provides a way to create an OpenHarmony/HarmonyNext application with rust. +openharmony-ability is the Rust runtime crate in this repository. It provides lifecycle and runtime helpers for OpenHarmony/HarmonyNext native applications. ## Runtime Context -`RustAbility` passes the ArkTS init context into Rust during `init(context)`. In Rust, `OpenHarmonyApp` can read `moduleName`, `basePath`, `prefPath`, and `preferredLocales` via `init_context()`, `module_name()`, `base_path()`, `pref_path()`, and `preferred_locales()`. +`NativeAbility` passes the ArkTS init context into native code during `init(context)`. In the Rust runtime, `OpenHarmonyApp` can read `moduleName`, `basePath`, `prefPath`, and `preferredLocales` via `init_context()`, `module_name()`, `base_path()`, `pref_path()`, and `preferred_locales()`. ## License diff --git a/crates/derive/README.md b/crates/derive/README.md index 539bb5d..bdca925 100644 --- a/crates/derive/README.md +++ b/crates/derive/README.md @@ -44,7 +44,7 @@ fn openharmony_app(app: OpenHarmonyApp) { ### Init Context -The generated `init(context)` now forwards ArkTS init data into Rust. Inside your `OpenHarmonyApp`, you can read it through `app.init_context()`, `app.module_name()`, `app.base_path()`, `app.pref_path()`, and `app.preferred_locales()`. +The generated `init(context)` forwards ArkTS init data into native code. In the Rust runtime, you can read it through `app.init_context()`, `app.module_name()`, `app.base_path()`, `app.pref_path()`, and `app.preferred_locales()`. ### webview diff --git a/demo/build-profile.json5 b/demo/build-profile.json5 index 2bc8723..535befd 100644 --- a/demo/build-profile.json5 +++ b/demo/build-profile.json5 @@ -38,8 +38,8 @@ ] }, { - "name": "ability_rust", - "srcPath": "../ability_rust" + "name": "native_ability", + "srcPath": "../native_ability" } ] } diff --git a/demo/entry/oh-package-lock.json5 b/demo/entry/oh-package-lock.json5 index 6901d4a..ab2507a 100644 --- a/demo/entry/oh-package-lock.json5 +++ b/demo/entry/oh-package-lock.json5 @@ -6,24 +6,24 @@ "lockfileVersion": 3, "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", "specifiers": { - "@ohos-rs/ability@../../ability_rust": "@ohos-rs/ability@../../ability_rust", - "libability_rust.so@../../ability_rust/src/main/cpp/types/libability_rust": "libability_rust.so@../../ability_rust/src/main/cpp/types/libability_rust", + "@ohos-rs/ability@../../native_ability": "@ohos-rs/ability@../../native_ability", + "libnative_ability.so@../../native_ability/src/main/cpp/types/libnative_ability": "libnative_ability.so@../../native_ability/src/main/cpp/types/libnative_ability", "libentry.so@src/main/cpp/types/libentry": "libentry.so@src/main/cpp/types/libentry", "libdemo_native.so@src/main/cpp/types/libdemo_native": "libdemo_native.so@src/main/cpp/types/libdemo_native", "libark_web.so@src/main/cpp/types/libark_web": "libark_web.so@src/main/cpp/types/libark_web" }, "packages": { - "@ohos-rs/ability@../../ability_rust": { + "@ohos-rs/ability@../../native_ability": { "name": "@ohos-rs/ability", "version": "0.0.1", "resolved": "", "registryType": "local", "dependencies": { - "libability_rust.so": "file:./src/main/cpp/types/libability_rust" + "libnative_ability.so": "file:./src/main/cpp/types/libnative_ability" } }, - "libability_rust.so@../../ability_rust/src/main/cpp/types/libability_rust": { - "name": "libability_rust.so", + "libnative_ability.so@../../native_ability/src/main/cpp/types/libnative_ability": { + "name": "libnative_ability.so", "version": "1.0.0", "resolved": "", "registryType": "local" diff --git a/demo/entry/oh-package.json5 b/demo/entry/oh-package.json5 index c40f82e..16609fa 100644 --- a/demo/entry/oh-package.json5 +++ b/demo/entry/oh-package.json5 @@ -9,6 +9,6 @@ "libentry.so": "file:./src/main/cpp/types/libentry", "libdemo_native.so": "file:./src/main/cpp/types/libdemo_native", "libark_web.so": "file:./src/main/cpp/types/libark_web", - "@ohos-rs/ability": "file:../../ability_rust" + "@ohos-rs/ability": "file:../../native_ability" } } diff --git a/demo/entry/src/main/ets/entryability/EntryAbility.ets b/demo/entry/src/main/ets/entryability/EntryAbility.ets index 9d2ad75..b68c078 100644 --- a/demo/entry/src/main/ets/entryability/EntryAbility.ets +++ b/demo/entry/src/main/ets/entryability/EntryAbility.ets @@ -1,9 +1,9 @@ -import { RustAbility } from "@ohos-rs/ability"; +import { NativeAbility } from "@ohos-rs/ability"; import Want from "@ohos.app.ability.Want"; import { AbilityConstant } from "@kit.AbilityKit"; import window from "@ohos.window"; -export default class EntryAbility extends RustAbility { +export default class EntryAbility extends NativeAbility { public moduleName: string = "demo_native"; public defaultPage: boolean = false; diff --git a/demo/entry/src/main/resources/zh_CN/element/string.json b/demo/entry/src/main/resources/zh_CN/element/string.json index c10d87d..172f93b 100644 --- a/demo/entry/src/main/resources/zh_CN/element/string.json +++ b/demo/entry/src/main/resources/zh_CN/element/string.json @@ -2,7 +2,7 @@ "string": [ { "name": "module_desc", - "value": "Rust Ability Demo 入口" + "value": "Native Ability Demo 入口" }, { "name": "EntryAbility_desc", diff --git a/ability_rust/.gitignore b/native_ability/.gitignore similarity index 100% rename from ability_rust/.gitignore rename to native_ability/.gitignore diff --git a/ability_rust/BuildProfile.ets b/native_ability/BuildProfile.ets similarity index 100% rename from ability_rust/BuildProfile.ets rename to native_ability/BuildProfile.ets diff --git a/ability_rust/LICENSE b/native_ability/LICENSE similarity index 100% rename from ability_rust/LICENSE rename to native_ability/LICENSE diff --git a/ability_rust/README.md b/native_ability/README.md similarity index 72% rename from ability_rust/README.md rename to native_ability/README.md index 69108a9..bbbeb46 100644 --- a/ability_rust/README.md +++ b/native_ability/README.md @@ -2,7 +2,7 @@ > This project is in progress, and the API is not stable. -`openharmony-ability` is a crate to manage OpenHarmony application's activity with rust, be similar to [android-activity](https://github.com/rust-mobile/android-activity). +`openharmony-ability` is the native integration layer for OpenHarmony applications. It combines Rust-side runtime crates with ArkTS-side entry helpers such as `NativeAbility`, similar in spirit to [android-activity](https://github.com/rust-mobile/android-activity). ## Architecture @@ -13,16 +13,16 @@ The architecture of OpenHarmony is similar to Node.js, where we need to manage t ![Architecture](/fixtures/openharmony-ability.png) -We provide some packages or crates to help you develop OpenHarmony application with Rust. +We provide packages and crates to help you build OpenHarmony applications with native code, including Rust integrations and shared ArkTS entry helpers for C/SDL-style modules. ### ArkTS We need a entry-point to start the application, and we use ArkTS to manage the application's lifecycle. - [@ohos-rs/ability](../package/README.md) - All of ability need to extend `RustAbility` and all lifecycle need to call `super.xx` to make sure the ability can work normally. + All of ability need to extend `NativeAbility` and all lifecycle need to call `super.xx` to make sure the ability can work normally. -### Rust +### Rust Runtime - [openharmony-ability](../crates/ability/README.md) Basic crate to manage the application's lifecycle. @@ -67,11 +67,11 @@ We need a entry-point to start the application, and we use ArkTS to manage the a 4. change the `EntryAbility.ets` file to the follow code: ```ts - import { RustAbility } from "@ohos-rs/ability"; + import { NativeAbility } from "@ohos-rs/ability"; import Want from "@ohos.app.ability.Want"; import { AbilityConstant } from "@kit.AbilityKit"; - export default class EntryAbility extends RustAbility { + export default class EntryAbility extends NativeAbility { public moduleName: string = "example"; async onCreate( @@ -86,7 +86,7 @@ We need a entry-point to start the application, and we use ArkTS to manage the a 5. Set `moduleName` to the bare module name, for example `hello`. The framework will load `libhello.so` internally. You can also pass `string[]` when one ability needs to initialize multiple native modules. -6. Build your rust project and copy the dynamic library to (Open-)Harmony(Next) project. +6. Build your native project and copy the dynamic library to your (Open-)Harmony(Next) project. The example below uses Rust, but the ArkTS `NativeAbility` entry is also reusable for C/SDL-style native modules that expose the same contract. 7. Now, you can enjoy it. diff --git a/ability_rust/build-profile.json5 b/native_ability/build-profile.json5 similarity index 100% rename from ability_rust/build-profile.json5 rename to native_ability/build-profile.json5 diff --git a/ability_rust/consumer-rules.txt b/native_ability/consumer-rules.txt similarity index 100% rename from ability_rust/consumer-rules.txt rename to native_ability/consumer-rules.txt diff --git a/ability_rust/hvigorfile.ts b/native_ability/hvigorfile.ts similarity index 100% rename from ability_rust/hvigorfile.ts rename to native_ability/hvigorfile.ts diff --git a/ability_rust/index.ets b/native_ability/index.ets similarity index 74% rename from ability_rust/index.ets rename to native_ability/index.ets index dfa0117..cecdd4d 100644 --- a/ability_rust/index.ets +++ b/native_ability/index.ets @@ -1,4 +1,4 @@ -export { RustAbility } from "./src/main/ets/ability/RustAbility"; +export { NativeAbility } from "./src/main/ets/ability/NativeAbility"; export { DefaultXComponent } from "./src/main/ets/components/DefaultXComponent"; export { RustWebviewNodeController, diff --git a/ability_rust/obfuscation-rules.txt b/native_ability/obfuscation-rules.txt similarity index 100% rename from ability_rust/obfuscation-rules.txt rename to native_ability/obfuscation-rules.txt diff --git a/ability_rust/oh-package-lock.json5 b/native_ability/oh-package-lock.json5 similarity index 50% rename from ability_rust/oh-package-lock.json5 rename to native_ability/oh-package-lock.json5 index f43ac5b..67f7c09 100644 --- a/ability_rust/oh-package-lock.json5 +++ b/native_ability/oh-package-lock.json5 @@ -6,13 +6,13 @@ "lockfileVersion": 3, "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", "specifiers": { - "libability_rust.so@src/main/cpp/types/libability_rust": "libability_rust.so@src/main/cpp/types/libability_rust" + "libnative_ability.so@src/main/cpp/types/libnative_ability": "libnative_ability.so@src/main/cpp/types/libnative_ability" }, "packages": { - "libability_rust.so@src/main/cpp/types/libability_rust": { - "name": "libability_rust.so", + "libnative_ability.so@src/main/cpp/types/libnative_ability": { + "name": "libnative_ability.so", "version": "1.0.0", - "resolved": "src/main/cpp/types/libability_rust", + "resolved": "src/main/cpp/types/libnative_ability", "registryType": "local" } } diff --git a/ability_rust/oh-package.json5 b/native_ability/oh-package.json5 similarity index 50% rename from ability_rust/oh-package.json5 rename to native_ability/oh-package.json5 index a1c6668..a9b0864 100644 --- a/ability_rust/oh-package.json5 +++ b/native_ability/oh-package.json5 @@ -1,11 +1,11 @@ { "name": "@ohos-rs/ability", "version": "0.0.1", - "description": "Adaptor for OpenHarmony/HarmonyNext Application with Rust", + "description": "Adaptor for OpenHarmony/HarmonyNext native abilities", "main": "index.ets", "author": "richerfu", "license": "Apache-2.0", "dependencies": { - "libability_rust.so": "file:./src/main/cpp/types/libability_rust" + "libnative_ability.so": "file:./src/main/cpp/types/libnative_ability" } } diff --git a/ability_rust/src/main/cpp/CMakeLists.txt b/native_ability/src/main/cpp/CMakeLists.txt similarity index 74% rename from ability_rust/src/main/cpp/CMakeLists.txt rename to native_ability/src/main/cpp/CMakeLists.txt index 5a49119..22361e3 100644 --- a/ability_rust/src/main/cpp/CMakeLists.txt +++ b/native_ability/src/main/cpp/CMakeLists.txt @@ -11,5 +11,5 @@ endif() include_directories(${NATIVERENDER_ROOT_PATH} ${NATIVERENDER_ROOT_PATH}/include) -add_library(ability_rust SHARED napi_init.cpp) -target_link_libraries(ability_rust PUBLIC libace_napi.z.so) +add_library(native_ability SHARED napi_init.cpp) +target_link_libraries(native_ability PUBLIC libace_napi.z.so) diff --git a/ability_rust/src/main/cpp/napi_init.cpp b/native_ability/src/main/cpp/napi_init.cpp similarity index 90% rename from ability_rust/src/main/cpp/napi_init.cpp rename to native_ability/src/main/cpp/napi_init.cpp index a130870..ce6b194 100644 --- a/ability_rust/src/main/cpp/napi_init.cpp +++ b/native_ability/src/main/cpp/napi_init.cpp @@ -42,12 +42,12 @@ static napi_module demoModule = { .nm_flags = 0, .nm_filename = nullptr, .nm_register_func = Init, - .nm_modname = "ability_rust", + .nm_modname = "native_ability", .nm_priv = ((void*)0), .reserved = { 0 }, }; -extern "C" __attribute__((constructor)) void RegisterAbility_rustModule(void) +extern "C" __attribute__((constructor)) void RegisterNativeAbilityModule(void) { napi_module_register(&demoModule); } diff --git a/ability_rust/src/main/cpp/types/libability_rust/Index.d.ts b/native_ability/src/main/cpp/types/libnative_ability/Index.d.ts similarity index 100% rename from ability_rust/src/main/cpp/types/libability_rust/Index.d.ts rename to native_ability/src/main/cpp/types/libnative_ability/Index.d.ts diff --git a/ability_rust/src/main/cpp/types/libability_rust/oh-package.json5 b/native_ability/src/main/cpp/types/libnative_ability/oh-package.json5 similarity index 76% rename from ability_rust/src/main/cpp/types/libability_rust/oh-package.json5 rename to native_ability/src/main/cpp/types/libnative_ability/oh-package.json5 index 68561ee..a7cf5fd 100644 --- a/ability_rust/src/main/cpp/types/libability_rust/oh-package.json5 +++ b/native_ability/src/main/cpp/types/libnative_ability/oh-package.json5 @@ -1,5 +1,5 @@ { - "name": "libability_rust.so", + "name": "libnative_ability.so", "types": "./Index.d.ts", "version": "1.0.0", "description": "Please describe the basic information." diff --git a/ability_rust/src/main/ets/ability/RustAbility.ets b/native_ability/src/main/ets/ability/NativeAbility.ets similarity index 99% rename from ability_rust/src/main/ets/ability/RustAbility.ets rename to native_ability/src/main/ets/ability/NativeAbility.ets index 9bf4e69..dcaf939 100644 --- a/ability_rust/src/main/ets/ability/RustAbility.ets +++ b/native_ability/src/main/ets/ability/NativeAbility.ets @@ -8,7 +8,7 @@ import { Loadable } from "../helper/loadable"; export const STATE_KEY = "ohos.rs.ability.application.state"; -export class RustAbility extends UIAbility { +export class NativeAbility extends UIAbility { public moduleName: string | string[] = ""; public defaultPage: boolean = true; public mode: "xcomponent" | "webview" = "xcomponent"; diff --git a/ability_rust/src/main/ets/ability/type.ets b/native_ability/src/main/ets/ability/type.ets similarity index 100% rename from ability_rust/src/main/ets/ability/type.ets rename to native_ability/src/main/ets/ability/type.ets diff --git a/ability_rust/src/main/ets/components/DefaultXComponent.ets b/native_ability/src/main/ets/components/DefaultXComponent.ets similarity index 98% rename from ability_rust/src/main/ets/components/DefaultXComponent.ets rename to native_ability/src/main/ets/components/DefaultXComponent.ets index 03949de..9fd810e 100644 --- a/ability_rust/src/main/ets/components/DefaultXComponent.ets +++ b/native_ability/src/main/ets/components/DefaultXComponent.ets @@ -15,7 +15,7 @@ import { WebviewInitData, } from "../webview/DefaultWebview"; -export const RouteName = "RustAbility"; +export const RouteName = "NativeAbility"; @Component export struct DefaultXComponent { moduleName: string = ""; diff --git a/ability_rust/src/main/ets/components/MainPage.ets b/native_ability/src/main/ets/components/MainPage.ets similarity index 96% rename from ability_rust/src/main/ets/components/MainPage.ets rename to native_ability/src/main/ets/components/MainPage.ets index 90cfd87..724f76b 100644 --- a/ability_rust/src/main/ets/components/MainPage.ets +++ b/native_ability/src/main/ets/components/MainPage.ets @@ -1,7 +1,7 @@ import { DefaultXComponent } from "./DefaultXComponent"; import { Loadable } from "../helper/loadable"; -export const RouteName = "RustAbility"; +export const RouteName = "NativeAbility"; @Entry({ routeName: RouteName }) @Component diff --git a/ability_rust/src/main/ets/helper/index.ets b/native_ability/src/main/ets/helper/index.ets similarity index 100% rename from ability_rust/src/main/ets/helper/index.ets rename to native_ability/src/main/ets/helper/index.ets diff --git a/ability_rust/src/main/ets/helper/loadable.ets b/native_ability/src/main/ets/helper/loadable.ets similarity index 100% rename from ability_rust/src/main/ets/helper/loadable.ets rename to native_ability/src/main/ets/helper/loadable.ets diff --git a/ability_rust/src/main/ets/helper/object.ts b/native_ability/src/main/ets/helper/object.ts similarity index 100% rename from ability_rust/src/main/ets/helper/object.ts rename to native_ability/src/main/ets/helper/object.ts diff --git a/ability_rust/src/main/ets/helper/os.ets b/native_ability/src/main/ets/helper/os.ets similarity index 100% rename from ability_rust/src/main/ets/helper/os.ets rename to native_ability/src/main/ets/helper/os.ets diff --git a/ability_rust/src/main/ets/helper/permission.ets b/native_ability/src/main/ets/helper/permission.ets similarity index 100% rename from ability_rust/src/main/ets/helper/permission.ets rename to native_ability/src/main/ets/helper/permission.ets diff --git a/ability_rust/src/main/ets/helper/random.ets b/native_ability/src/main/ets/helper/random.ets similarity index 100% rename from ability_rust/src/main/ets/helper/random.ets rename to native_ability/src/main/ets/helper/random.ets diff --git a/ability_rust/src/main/ets/webview/DefaultWebview.ets b/native_ability/src/main/ets/webview/DefaultWebview.ets similarity index 100% rename from ability_rust/src/main/ets/webview/DefaultWebview.ets rename to native_ability/src/main/ets/webview/DefaultWebview.ets diff --git a/ability_rust/src/main/ets/webview/Utils.ets b/native_ability/src/main/ets/webview/Utils.ets similarity index 100% rename from ability_rust/src/main/ets/webview/Utils.ets rename to native_ability/src/main/ets/webview/Utils.ets diff --git a/ability_rust/src/main/module.json5 b/native_ability/src/main/module.json5 similarity index 79% rename from ability_rust/src/main/module.json5 rename to native_ability/src/main/module.json5 index 703f537..a08fe1d 100644 --- a/ability_rust/src/main/module.json5 +++ b/native_ability/src/main/module.json5 @@ -1,6 +1,6 @@ { "module": { - "name": "ability_rust", + "name": "native_ability", "type": "har", "deviceTypes": [ "default", diff --git a/ability_rust/src/main/resources/base/element/string.json b/native_ability/src/main/resources/base/element/string.json similarity index 100% rename from ability_rust/src/main/resources/base/element/string.json rename to native_ability/src/main/resources/base/element/string.json diff --git a/ability_rust/src/main/resources/en_US/element/string.json b/native_ability/src/main/resources/en_US/element/string.json similarity index 100% rename from ability_rust/src/main/resources/en_US/element/string.json rename to native_ability/src/main/resources/en_US/element/string.json diff --git a/ability_rust/src/main/resources/zh_CN/element/string.json b/native_ability/src/main/resources/zh_CN/element/string.json similarity index 100% rename from ability_rust/src/main/resources/zh_CN/element/string.json rename to native_ability/src/main/resources/zh_CN/element/string.json diff --git a/ability_rust/src/ohosTest/ets/test/Ability.test.ets b/native_ability/src/ohosTest/ets/test/Ability.test.ets similarity index 100% rename from ability_rust/src/ohosTest/ets/test/Ability.test.ets rename to native_ability/src/ohosTest/ets/test/Ability.test.ets diff --git a/ability_rust/src/ohosTest/ets/test/List.test.ets b/native_ability/src/ohosTest/ets/test/List.test.ets similarity index 100% rename from ability_rust/src/ohosTest/ets/test/List.test.ets rename to native_ability/src/ohosTest/ets/test/List.test.ets diff --git a/ability_rust/src/ohosTest/module.json5 b/native_ability/src/ohosTest/module.json5 similarity index 83% rename from ability_rust/src/ohosTest/module.json5 rename to native_ability/src/ohosTest/module.json5 index 0e56acb..b247486 100644 --- a/ability_rust/src/ohosTest/module.json5 +++ b/native_ability/src/ohosTest/module.json5 @@ -1,6 +1,6 @@ { "module": { - "name": "ability_rust_test", + "name": "native_ability_test", "type": "feature", "deviceTypes": [ "default", diff --git a/ability_rust/src/test/List.test.ets b/native_ability/src/test/List.test.ets similarity index 100% rename from ability_rust/src/test/List.test.ets rename to native_ability/src/test/List.test.ets diff --git a/ability_rust/src/test/LocalUnit.test.ets b/native_ability/src/test/LocalUnit.test.ets similarity index 100% rename from ability_rust/src/test/LocalUnit.test.ets rename to native_ability/src/test/LocalUnit.test.ets diff --git a/package/README.md b/package/README.md index ff31cc5..47d44b1 100644 --- a/package/README.md +++ b/package/README.md @@ -1,6 +1,6 @@ # @ohos-rs/ability -`@ohos-rs/ability` provides ArkTS-side helpers for loading Rust native modules and forwarding OpenHarmony lifecycle events into Rust. +`@ohos-rs/ability` provides ArkTS-side helpers for loading native modules and forwarding OpenHarmony lifecycle events into native code. The same `NativeAbility` entry can be reused by Rust modules and C/SDL-style native modules. ## Install @@ -10,14 +10,14 @@ ohpm install @ohos-rs/ability ## API -### `RustAbility` +### `NativeAbility` -`RustAbility` wraps `UIAbility` and initializes one or more Rust native modules. +`NativeAbility` wraps `UIAbility` and initializes one or more native modules. ```ts -import { RustAbility } from "@ohos-rs/ability"; +import { NativeAbility } from "@ohos-rs/ability"; -export default class EntryAbility extends RustAbility { +export default class EntryAbility extends NativeAbility { public moduleName: string = "demo_native"; onCreate() { @@ -43,7 +43,7 @@ When using `sync`, add the corresponding library to `build-profile.json5` runtim ### `DefaultXComponent` -`DefaultXComponent` loads the native module and binds the default Rust rendering surface. +`DefaultXComponent` loads the native module and binds the default native rendering surface. ```ts import { DefaultXComponent } from "@ohos-rs/ability"; @@ -66,12 +66,12 @@ struct Index { ### Custom Page Example ```ts -import { RustAbility } from "@ohos-rs/ability"; +import { NativeAbility } from "@ohos-rs/ability"; import Want from "@ohos.app.ability.Want"; import { AbilityConstant } from "@kit.AbilityKit"; import window from "@ohos.window"; -export default class EntryAbility extends RustAbility { +export default class EntryAbility extends NativeAbility { public moduleName: string = "demo_native"; public defaultPage: boolean = false; diff --git a/package/index.ets b/package/index.ets index e31e542..36b67fc 100644 --- a/package/index.ets +++ b/package/index.ets @@ -1,3 +1,3 @@ -export { RustAbility } from "./src/main/ets/ability/RustAbility"; +export { NativeAbility } from "./src/main/ets/ability/NativeAbility"; export { DefaultXComponent } from "./src/main/ets/components/DefaultXComponent"; export * from "./src/main/ets/webview/DefaultWebview"; diff --git a/package/oh-package.json5 b/package/oh-package.json5 index 3b930aa..b366cb9 100644 --- a/package/oh-package.json5 +++ b/package/oh-package.json5 @@ -2,7 +2,7 @@ "license": "MIT", "author": "richerfu", "name": "@ohos-rs/ability", - "description": "Adaptor for OpenHarmony/HarmonyNext Application with Rust", + "description": "Adaptor for OpenHarmony/HarmonyNext native abilities", "main": "index.ets", "version": "0.4.0-beta.4", "repository": "https://github.com/harmony-contrib/openharmony-ability.git", diff --git a/scripts/pack.sh b/scripts/pack.sh index fabc106..45b887d 100644 --- a/scripts/pack.sh +++ b/scripts/pack.sh @@ -5,6 +5,6 @@ SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) rm -rf $SCRIPT_DIR/../package/src/main/ets rm -rf $SCRIPT_DIR/../dist -cp -rf $SCRIPT_DIR/../ability_rust/src/main/ets/ $SCRIPT_DIR/../package/src/main/ets +cp -rf $SCRIPT_DIR/../native_ability/src/main/ets/ $SCRIPT_DIR/../package/src/main/ets pushd $SCRIPT_DIR/../ && ohrs artifact --skip-libs \ No newline at end of file