ArkUI-X构建Android平台AAR及使用

简介: 本教程介绍如何使用ArkUI-X SDK开发Android AAR,实现基于ArkTS的声明式开发范式在Android平台显示。内容涵盖跨平台Library工程开发、AAR集成方式及应用工程使用。通过ACE Tools或DevEco Studio创建和构建AAR包,随后在Android Studio中将AAR添加至应用工程,配置Application、代理类调用、`AndroidManifest.xml`及`build.gradle`文件。完成配置后,可按常规流程构建ArkUI Android应用。

本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:

1.跨平台Library工程开发介绍
2.AAR在Android应用工程的集成方式

使用ACE Tools和DevEco Studio集成ArkUI-X SDK进行Android AAR开发

可以通过通过ACE Tools或DevEco Studio完成

ACE Tools

1.ace create 命令创建一个跨平台的library模版工程:

ace create [project] -t library
  1. 执行ace build aar命令,构建Android aar包。
    ace build aar
    

DevEco Studio

1.导入跨平台的Sample工程Library
2.通过执行Build APP(s)选项,构建出Android aar包

AAR在应用工程的使用

通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中
Application部分

继承调用

package com.example.helloworld;

import com.example.myaar.MyApplication;

public class MainApplication extends MyApplication {
    

}

代理类调用

package com.example.helloworld;


import android.app.Application;
import android.content.res.Configuration;
import android.util.Log;

import ohos.stage.ability.adapter.StageApplicationDelegate;

public class MainApplication extends Application {
   
    private StageApplicationDelegate appDelegate = null;

    public void onCreate() {
   
        super.onCreate();
        this.appDelegate = new StageApplicationDelegate();
        this.appDelegate.initApplication(this);
    }
    public void onConfigurationChanged(Configuration newConfig) {
   
        super.onConfigurationChanged(newConfig);
        if (this.appDelegate == null) {
   
            Log.e("StageApplication", "appDelegate is null");
        } else {
   
            this.appDelegate.onConfigurationChanged(newConfig);
        }
    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.example.test_aar_demo">

 <uses-permission android:name="android.permission.INTERNET"/>
     <application
         android:name="com.example.test_aar_demo.MainApplication"
         android:allowBackup="true"
         android:icon="@drawable/hihelloworld"
         android:label="@string/app_name"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:name=".MainApplication"
         android:theme="@style/Theme.Helloworld"><!-- 将name设为MainApplication-->
     <activity android:name="com.example.myaar.EntryMainAbilityActivity" 
         android:windowSoftInputMode="adjustResize |stateHidden"
         android:configChanges="orientation|keyboard|layoutDirection|screenSize|uiMode|smallestScreenSize"
         ><!-- 将name设为aar中的EntryMainAbilityActivity -->
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
     </application>

 </manifest>

build.gradle

添加ndk和编译依赖目录,这部分配置项与Android平台构建ArkUI应用内容一致。

完成上述步骤后即可按照Android应用构建流程,构建ArkUI Android应用。

相关文章
|
26天前
|
API Android开发 开发者
ArkUI-X跨平台应用改造指南
随着HarmonyOS Next 5.0的发布,基于ArkTS开发的应用日益丰富,但也面临多平台适配的挑战。ArkUI-X框架提供“一次开发、三平台部署”解决方案,助力开发者高效实现跨平台应用。本文介绍如何通过ArkUI-X将HarmonyOS Next应用改造为支持Android与iOS的跨平台工程,涵盖产品定制层(products)、基础特性层(features)和公共能力层(commons)的设计与实现,优化代码复用与交互一致性。
135 52
|
2月前
|
存储 IDE 开发工具
ArkUI-X跨平台框架接入指南
ArkUI-X是ArkUI的跨平台扩展框架,支持OpenHarmony、Android和iOS等多平台开发,未来还将增加更多平台支持。开发者只需一套主代码即可构建高性能、精美的多平台应用。使用DevEco Studio进行ArkUI-X开发时,需注意:仅支持ArkUI-X源码调试,各平台Native代码需用对应IDE处理;支持真机与模拟器调试;需配置相关SDK(如Android SDK)及环境变量(如ANDROID_HOME)。创建工程后,可通过DevEco Studio编译生成跨平台应用包,并在不同平台上运行查看效果。
226 64
|
26天前
|
Android开发
ArkUI-X与Android联动编译开发指南
本文介绍通过CLI工具链创建项目并生成联动编译脚本,实现Android Studio编译Android应用时自动编译ArkTS源码并将产物拷贝至Android工程。其功能包括手动配置ArkTS源码编译开关、编译module及文件输出路径。文章详细说明了编译配置方法,如设置`configBuildFlag`开关触发编译脚本、添加跨平台module(例:`moduleLists=entry,testmodule`)、修改Android的arkuix和systemRes输出路径。相关脚本位于`.arkui-x/android`目录。
|
1月前
|
JSON API Android开发
ArkUI-x跨平台Bridge最佳实践
ArkUI-X框架的bridge核心架构思想旨在实现ArkTS与平台原生语言(如Java、OC)之间的通信,支持业务层通信及跨平台API中转。bridge具备三种能力:多种桥接模式(JSON、二进制、线程并发)、数据与方法互传,以及“一码三平台”支持。通过分层架构设计,上层业务调用统一接口,下层实现平台差异化逻辑。FAQ部分提供了HMS API跨平台改造方案,包括动态import优化以避免crash问题,提升代码效率与整洁性。
122 44
|
24天前
|
移动开发 开发工具 Android开发
ArkUI-X跨平台技术落地-华为运动健康(二)
本文介绍了ArkUI-X在华为运动健康应用中的实践,涵盖原生与ArkUI界面参数传递、跨平台bridge桥接通信、平台差异化动态编译处理及性能表现。通过intent与putExtra()实现页面参数传递,定义5类bridge(数据、设备、页面跳转、日志、用户账户)提升跨平台与原生交互能力。采用编译前动态修改import技术屏蔽多端差异,确保业务代码复用。ArkUI-X跨平台页面达到60fps滑动帧率,包体积增加19MB,内存表现与原生持平。目前心脏健康模块已在iOS商用,Android版处于Beta阶段,未来将迁移更多高频模块至ArkUI-X框架,进一步提升开发效率与用户体验。
|
24天前
|
移动开发 JSON Android开发
ArkUI-X跨平台技术落地-华为运动健康(一)
华为运动健康App在多端开发中面临工作量大和体验不一致的问题,传统H5技术虽可跨平台但性能不足。为此,在鸿蒙NEXT版本开发中引入ArkUI-X框架,实现“一次开发、三端部署”。具体策略为:首页保留原生开发,二级页面(如心脏健康、睡眠)采用ArkUI-X技术复用代码,三级及低频页面仍使用H5。同时,通过抽象数据平台接口、bridge桥接底层能力差异等方式,解决多端数据与功能适配问题,大幅降低开发成本并提升用户体验一致性。架构设计上,新增独立跨平台Entry模块与健康Module,支持编译hap包供Android和iOS复用,形成高效跨平台解决方案。
|
2月前
|
前端开发 API vr&ar
DevEco重大更新快来体验吧
HarmonyOS API 17正式发布,DevEco新增多项特性。支持创建API 17应用,模拟器首次适配阔折叠手机与2in1设备。新增权限管理功能,可自动签名快速申请ACL权限;新增自动监听WebView进程能力,简化调试流程。系统能力方面,支持指定窗口大小、AR Engine深度估计、ArkUI对2in1设备优化及新增File Manager Service Kit文件管理服务,大幅提升开发效率与用户体验。
175 64
DevEco重大更新快来体验吧
|
1月前
|
开发工具 Android开发
ArkUI-X添加到现有Android项目中
本教程介绍如何使用ArkUI-X SDK开发Android AAR,实现ArkTS声明式开发在Android平台的显示。主要内容包括:1) 跨平台Library工程开发;2) AAR在Android应用中的集成方式。通过ACE Tools或DevEco Studio完成AAR构建,初始化ArkUI-X,并通过Activity或Fragment加载页面。具体步骤涵盖工程创建、构建AAR包、配置Manifest及使用Intent或Fragment打开页面等。
130 57
|
1月前
|
Android开发 开发者
ArkUI-X中Plugin生命周期开发指南
ArkUI-X插件用于扩展ArkUI应用功能,支持管理插件生命周期。本文聚焦于Android平台ArkUI-X插件生命周期的使用,介绍如何通过实现`IArkUIXPlugin`接口创建插件,包括`onRegistry`初始化和`onUnRegistry`销毁方法。开发者可通过`addPlugin`方法在`StageActivity`中注册插件,确保调用顺序正确(需在`super.onCreate()`前)。示例代码展示了插件的创建、资源管理和注册流程,帮助开发者快速上手。
120 57
|
1月前
|
IDE API 开发工具
ArkUI-X平台差异化
跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API,就需要根据平台不同进行一定代码差异化适配。当前仅支持在代码运行态进行差异化,接下来详细介绍场景及如何差异化适配。
101 43