本文主要介绍通过CLI工具链执行ace create project命令创建工程,生成联动编译脚本。使用Android Studio编译Android应用时,可联动编译ArkTS源码,并自动拷贝ArkTS产物到Android工程中。

其功能主要包括:

1.手动配置编译ArkTS源码开关

2.手动配置编译module

3.手动配置文件输出路径

编译配置说明

配置编译ArkTS脚本开关

在.arkui-x/android/app/build.gradle目录下设置configBuildFlag开关,可触发联动ArkTS源码编译脚本,默认为false,不执行编译ArkTS脚本文件。

//执行联动编译脚本开关.
def configBuildFlag = false task ArkTSBuildTask {
preBuild.dependsOn ArkTSBuildTask
doLast {
if (configBuildFlag) {
def os = System.getProperty("os.name").toLowerCase()
if (os.contains("win")) {
exec {
//Windows系统执行此命令触发联动编译
commandLine 'cmd', '/c', '.\\\\buildArkTs'
workingDir file( project.projectDir.getAbsolutePath() + '\\\\..' )
}
} else {
exec {
//Linux和Mac系统执行此命令触发联动编译
commandLine 'sh', '-c', 'chmod +x ./buildArkTs && ./buildArkTs'
workingDir file( project.projectDir.getAbsolutePath() + '/..' )
}
}
}
}
}

配置编译module

可手动在Android工程下的buildArkts脚本中添加跨平台module,默认编译entry,用于编译指定module文件。

例:moduleLists=entry,testmodule

moduleLists=entry

配置Android的arkuix输出路径

可手动在Android工程下的buildArkts脚本中修改Android应用中module的输出路径。

android_arkuix_path="$project_path/.arkui-x/android/app/src/main/assets/arkui-x"

配置Android的systemRes输出路径

可手动在Android工程下的buildArkts脚本中修改Android应用中systemRes的输出路径。

android_systemRes_path="$project_path/.arkui-x/android/app/src/main/assets/arkui-x/systemres"

编译脚本目录

.arkui-x/android目录,新增编译ArkTS脚本:

ArkUI-X与Android联动编译开发指南的更多相关文章

  1. 《Android插件化开发指南》面世

    本书在京东购买地址:https://item.jd.com/31178047689.html 本书Q群:389329264 (一)这是一本什么书 如果只把本书当作纯粹介绍Android插件化技术的书籍 ...

  2. 《Android插件化开发指南》勘误

    一些常识: 1)全书70个代码例子中,涉及到插件的例子,请先assemble插件的项目,这会在HostApp项目中生成assets目录,并在该目录下plugin1.apk.这样,HostApp才能正常 ...

  3. Android:cmake开发指南

    一.静态库与动态库构建 (.so)共享库,shared object:节省空间,在运行时去连接,如果执行机器上没有这些库文件就不能执行. (.a)静态库,archive:静态库和程序化为一体,不会分开 ...

  4. Android USB应用开发指南

    调试 USB接口被占用后使用wifi调试模式 详见:https://blog.csdn.net/u013758456/article/details/78911812 开发

  5. Android 插件化开发(四):插件化实现方案

    在经过上面铺垫后,我们可以尝试整体实现一下插件化了.这里我们先介绍一下最简单的实现插件化的方案. 一.最简单的插件化实现方案 最简单的插件化实现方案,对四大组件都是适用的,技术面涉及如下: 1). 合 ...

  6. Android 插件化开发(一):Java 反射技术介绍

    写在前面:学习插件化开发推荐书籍<Android 插件化开发指南>,本系列博客所整理知识部分内容出自此书. 在之前的项目架构的博文中,我们提到了项目插件化架构,提到插件化架构不得不提的到J ...

  7. 移动应用安全开发指南(Android)--完结篇(http://www.bubuko.com/infodetail-577312.html)

    1.认证和授权 概述 认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但也有的APP出于性能提升或用户体验等原因,将其做在客户端完成, ...

  8. 移动应用安全开发指南(Android)--完结篇

    如果IE显示格式不正常,请使用chrome浏览器 1.认证和授权 概述 认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但也有的APP ...

  9. Android SDK 开发指南

    Android SDK 开发指南 视频详解 以下视频是对融云 Android SDK 开发使用的详细讲解,您可以在阅读文档时配合学习.   更多视频教程如下: CSDN 融云 Android SDK ...

  10. 【文章内容来自《Android 应用程序开发权威指南》(第四版)】如何设计兼容的用户界面的一些建议(有删改)

    最近一直在看的一本书是<Android 应用程序开发权威指南>(第四版),十分推荐.书中讲到了一些用户界面设计的规范,对于初学者我认为十分有必要,在这里码给大家,希望对我们都有用. 在我们 ...

随机推荐

  1. laradock 安装扩展程序 pcntl

    起因 运行workman脚步的时候,PHP 提示缺少 pcntl 扩展 Config git:(master) php start.php -d Please install pcntl extens ...

  2. Java基于XXLJOB的定时任务实现阶梯式通知方式

    数据库表设计 CREATE TABLE `tx_order_push_info` ( `order_no` varchar(64) DEFAULT NULL COMMENT '交易单号', `orde ...

  3. 探秘Transformer系列之(17)--- RoPE

    探秘Transformer系列之(17)--- RoPE 目录 探秘Transformer系列之(17)--- RoPE 文章总表 0x00 概述 0x01 总体思路 1.1 注意力机制回顾 1.2 ...

  4. 【Linux】3.1 远程登录Linux系统

    为什么需要远程登录 Linux 示意图 说明: 公司开发时候, 具体的情况是这样的 linux 服务器是开发小组共享的. 正式上线的项目是运行在公网的. 因此程序员需要远程登录到 centos 进行项 ...

  5. 【服务器】npm配置国内镜像源

    [服务器]npm配置国内镜像源 零.问题 配置Node.js的HTTPS的时候,下载不了 一.解决 这里使用的是淘宝的镜像: npm config set registry https://regis ...

  6. C# 计算代码的运行时间

    用法 主要通过Stopwatch类来实现... 在开发.调试.测试.分析中非常实用. Stopwatch sw = new Stopwatch(); sw.Start(); // 某些耗时的计算或任务 ...

  7. 学习Django【2】把视图和路由连接起来的是URLconfigs的配置文件

    在view.py视图中定义: def detail(request, question_id): return HttpResponse("You're looking at questio ...

  8. 详细介绍java的线程池状态

    一.详细介绍java的线程池状态 Java 中的线程池状态是 ThreadPoolExecutor 类内部管理的一个重要概念.线程池的状态决定了线程池的行为,例如是否接受新任务.是否处理队列中的任务. ...

  9. Golang服务可观测和思路分享

    省流 中医四诊"望闻问切"与程序诊断有异曲同工之妙.在Golang问题排查中,我们需要建立系统化的诊断思维:通过观察表象(望).收集信息(闻).追溯根源(问).精准施治(切)四个维 ...

  10. python,提取数据,提取奇数位或者偶数位数据的方法

    如有数组num=["1","2","3","4","5"] 怎么按照奇.偶数位取数? 写法如下 nu ...