当前位置: 首页 > java >正文

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

本教程主要讲述如何利用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"/><applicationandroid: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应用。

http://www.xdnf.cn/news/13610.html

相关文章:

  • ROS2 工作空间中, CMakeLists.txt, setup.py和 package.xml的作用分别是?
  • 【编译原理】题目合集(一)
  • 初识MySQL · 事务 · 下
  • TCP/IP 网络编程 | Reactor事件处理模式
  • 像素跟踪 跟踪像素 算法总结
  • 【慧游鲁博】【12】小程序端 · 智能导览对接后端文物图片识别功能
  • WEB JWT
  • java复习 09
  • 【开源工具】:基于PyQt5的智能网络驱动器映射工具开发全流程(附源码)
  • WWDC 2025 开发者特辑 | 肘子的 Swift 周报 #088
  • 计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)—— 1. 摄像机几何
  • 2025最新软件测试八股文,查漏补缺(含答案+文档)
  • Spring Cloud Gateway 介绍
  • 离线部署openstack 2024.1 neutron
  • 离线部署openstack 2024.1 keystone
  • AI Agent 的架构与技术体系分析
  • 新能源知识库(40)一个省的综合电价由哪些因素决定?
  • C++ call_once用法
  • 基础知识:抽象类成员变量的继承与使用
  • Web APIS Day04
  • BlogX项目数据库读写分离AI面试题
  • 海外打车代驾app多语言切换模块设计
  • CentOs7.x系列IP地址由动态改静态(解决远程连接掉线问题)
  • 字符串|数组|计算常见函数整理-竞赛专用(从比赛真题中总结的,持续更新中)
  • 7.Vue的compute计算属性
  • atomicity of memory accesses
  • 【知识图谱构建系列1】数据集介绍
  • 本地docker部署的dify,不用git命令如何无损升级?
  • Vue3前端项目Docker容器化部署工作报告
  • 【算法 day01】LeetCode 704二分查找 | 27移除元素 | 977有序数组的平方