【HarmonyOS】应用开发第二章-开发工具DevEco介绍_第1页
【HarmonyOS】应用开发第二章-开发工具DevEco介绍_第2页
【HarmonyOS】应用开发第二章-开发工具DevEco介绍_第3页
【HarmonyOS】应用开发第二章-开发工具DevEco介绍_第4页
【HarmonyOS】应用开发第二章-开发工具DevEco介绍_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章开发工具DevEco介绍武汉大学计算机学院赵小刚大纲DevEco基本特性安装过程Gradle的作用HelloWorld创建Java项目和JS项目基本结构HarmonyOSLibrary构建HarmonyOSApp真机运行和上架HUAWEIDevEcoStudio(以下简称DevEcoStudio)是基于IntelliJIDEACommunity开源版本打造,面向华为终端全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的HarmonyOS应用开发服务。通过使用DevEcoStudio,开发者可以更高效的开发具备HarmonyOS分布式能力的应用,进而提升创新效率。具有基本的代码开发、编译构建及调测等功能。多设备统一开发环境:支持多种HarmonyOS设备的应用开发,包括手机(Phone)、平板(Tablet)、车机(Car)、智慧屏(TV)、智能穿戴(Wearable),轻量级智能穿戴(LiteWearable)和智慧视觉(SmartVision)设备。支持多语言的代码开发和调试:包括Java、XML(ExtensibleMarkupLanguage)、C/C++、JS(JavaScript)、CSS(CascadingStyleSheets)和HML(HarmonyOSMarkupLanguage)。支持FA(FeatureAbility)和PA(ParticleAbility)快速开发:通过工程向导快速创建FA/PA工程模板,一键式打包成HAP(HarmonyOSAbilityPackage)。支持分布式多端应用开发:一个工程和一份代码可跨设备运行,支持不同设备界面的实时预览和差异化开发,实现代码的最大化重用。支持多设备模拟器:提供多设备的模拟器资源,包括手机、平板、车机、智慧屏、智能穿戴设备的模拟器,方便开发者高效调试。支持多设备预览器:提供JS和Java预览器功能,可以实时查看应用的布局效果,支持实时预览和动态预览;同时还支持多设备同时预览,查看同一个布局文件在不同设备上的呈现效果。搭建开发环境流程下载和安装Node.jsNode.js应用于开发JS应用和运行预览器功能,是开发HarmonyOS应用过程中必备的软件。下载和安装DevEcoStudioDevEcoStudio的编译构建依赖JDK,DevEcoStudio预置了OpenJDK,版本为1.8,安装过程中会自动安装JDK。登录HarmonysOS应用开发门户,点击右上角注册按钮,注册开发者帐号,注册指导参考注册华为开发者联盟帐号。如果已有华为开发者联盟帐号,请直接点击登录按钮。配置开发环境npm设置设置Gradle代理设置DevEcoStudio代理下载HarmonyOSSDK网络设置DevEcoStudio开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用,可以根据如下两种情况来配置开发环境:如果可以直接访问Internet,只需进行设置npm仓库和下载HarmonyOSSDK操作。如果网络不能直接访问nternet,需要通过代理服务器才可以访问。设置npm仓库为了提升下载JSSDK时,使用npm安装JS依赖的速度,建议在命令行工具中执行如下命令,重新设置npm仓库地址。npmconfigsetregistry/repository/npm/设置Gradle代理Gradle是一个基于ApacheAnt和ApacheMaven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。项目自动化在我们开发软件时,会面临相似的情况就是,我们需要去用IDE来进行编码,当完成一些功能时会进行编译、单元测试、打包等工作,这些工作都需要开发人员手动来实现。而一般的软件都是迭代式开发的,一个版本接着一本版本,每个版本又可能有很多的功能,如果开发每次实现功能时都需要手动的进行编译、单元测试和打包等工作,那显然会非常耗时而且也容易出现问题,因此项目自动化应运而生。项目自动化的优点它可以尽量防止开发手动介入从而节省了开发的时间并减少错误的发生。自动化可以自定义有序的步骤来完成代码的编译、测试和打包等工作,让重复的步骤变得简单。IDE可能受到不同操作系统的限制,而自动化构建是不会依赖于特定的操作系统和IDE的,具有平台无关性。构建工具构建工具用于实现项目自动化,是一种可编程的工具,你可以用代码来控制构建流程最终生成可交付的软件。构建工具可以帮助你创建一个重复的、可靠的、无需手动介入的、不依赖于特定操作系统和IDE的构建。Android项目APK构建过程HarmonyOS项目中的Gradle工程Project中的build.gradle:工程控制Gradle编译配置模块module中的build.gradle:控制每个Module的编译过程perties:gradle动态参数的配置文件perties:本地的配置,如:SDK位置perties:gradle本地代理,声明了指向目录和版本distributionUrl:指定gradle版本不存在时,就从Value的地址中去下载。很多时候,我们只要版本换成我们本地存在的gradle版本就可以了settings.gradle:配置Gradle中的Module管理设置Gradle代理如果网络不能直接访问Internet,而是需要通过代理服务器才可以访问,这种情况下,需要设置Gradle代理,来访问和下载Gradle所需的依赖。打开“此电脑”,在文件夹地址栏中输入%userprofile%(Mac系统请点击前往>个人),进入个人用户界面。创建一个文件夹,命名为.gradle。进入.gradle文件夹,新建一个文本文档,命名为gradle,并修改后缀为.properties。打开perties文件中,添加代理需要的脚本设置DevEcoStudio代理创建和运行HelloWorld系统自动下载Gradle在DevEcoStudio菜单栏,点击Tools>HVDManager。首次使用模拟器,需下载模拟器相关资源在浏览器中弹出华为开发者联盟帐号登录界面,请输入已实名认证的华为开发者联盟帐号的用户名和密码进行登录Java工程目录结构项目文件解析.gradle:Gradle配置文件,由系统自动生成,一般情况下不需要进行修改。entry:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录。entry>libs:用于存放entry模块的依赖文件。entry>src>main>Java:用于存放Java源码。entry>src>main>resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等。entry>src>main>config.json:HAP清单文件。entry>src>test:编写代码单元测试代码的目录,运行在本地Java虚拟机(JVM)上。entry>.gitignore:标识git版本管理需要忽略的文件。entry>build.gradle:entry模块的编译配置文件。JS工程目录结构工程文件解析common目录:可选,用于存放公共资源文件,如媒体资源、自定义组件和JS文档等。i18n目录:可选,用于存放多语言的json文件,可以在该目录下定义应用在不同语言系统下显示的内容,如应用文本词条、图片路径等。resources:可选,用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件。app.js文件:全局的JavaScript逻辑文件和应用的生命周期管理。

pages目录:pages文件夹下可以包含1个或多个页面,每个页面都需要创建一个文件夹(如图中的index)。页面文件夹下主要包含3种文件类型:css、js和hml文件。pages>index>index.hml文件:hml文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系。pages>index>index.css文件:css文件定义了页面的样式与布局,包含样式选择器和各种样式属性等。pages>index>index.js文件:js文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等。支持的设备模板和编程语言在工程中添加ModuleModule是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用通常会包含一个或多个Module,因此,可以在工程中,创建多个Module,每个Module分为Ability和Library(HarmonyOSLibrary和JavaLibrary)两种类型。在一个APP中,对于同一类型设备有且只有一个EntryModule,其余Module的类型均为Feature。因此,在创建一个类型为Ability的Module时,遵循如下原则:若新增Module的设备类型为已有设备时,则Module的类型将自动设置为“Feature”。若新增Module的设备类型为当前还没有创建Module,则Module的类型将自动设置为“Entry”。创建HarmonyOS库创建库模块将库模块编译为HAR发布Har包到Maven仓为应用模块添加依赖创建库模块将库模块编译为HAR利用Gradle可以将HarmonyOSLibrary库模块构建为HAR包,以便在工程中引用HAR或者将HAR包提供给其它开发者进行调用。构建HAR包的方法:在Gradle构建任务中,双击debugHarmonyHar或releaseHarmonyHar任务,构建Debug类型或Release类型的HAR。发布Har包到Maven仓借助Gradle提供的Maven-publish插件,可以将Har包发布到本地或远程Maven仓,方法如下:在工程根目录下,点击鼠标右键New>File,创建一个以“.gradle”结尾的文件,如upload.gradle。在创建的upload.gradle文件中,添加一定代码。在Har模块的build.gradle中,添加HAR发布脚本。添加完成后,请点击SyncNow进行同步。同步完成后,会在Gradle任务中增加publishing的任务列表。双击执行publishMavenPublicationToMavenRepository任务,将HAR包发布到指定的Maven地址为应用模块添加依赖在应用模块中调用HAR,常用的添加依赖的方式包括如下两种:调用同一个工程中的HAR:HAR包和应用模块在同一个工程,打开应用模块的build.gradle文件,在dependencies闭包中,添加如下代码。添加完成后,请点击SyncNow同步工程。调用Maven仓中的HAR:无论Har包是本地Maven仓还是远程Maven仓,均可以在工程的build.gradle的allprojects闭包中,添加HAR所在的Maven仓地址。dependencies{implementationproject(":mylibrary")}repositories{maven{url'file://D:/01.localMaven/'}}JSComponent和JSPageJSComponent:在JS工程中,可以存在多个JSComponent(例如js目录下的default文件夹就是一个JSComponent),一个JSFA对应一个JSComponent,可以独立编译、运行和调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论