新建项目
有多种方法创建项目,比如命令行使用一些脚手架创建,或者使用AndroidStudio(简称AS)创建项目
使用脚手架创建项目的优势是可以使用自己熟悉的框架,比如vue等,使用AS创建项目则是适用于做安卓原生开发
利用脚手架新建项目(这里以Ionic脚手架为例)
目标路径下,命令行管理员方式输入
ionic start
,根据引导创建应用(在此之前请确定已安装Ionic脚手架)引导中需要用户回答几个问题:
这是问你要不要使用ionic脚手架的在线向导(部分脚手架没有这个问题)
如果输入y,使用向导,则会在浏览器进入下面的页面(这种方法创建需要用到一个Ionic账号)
如果输入n则继续在命令行引导
选择要使用的框架(不同脚手架可以选择的框架可能不同)
输入项目名称
选择一个应用模板
选择模板之后会输出以上内容,之后需要等待几分钟
利用Android Studio创建项目
新建项目,注意配置minimum SDK
选择模板,安卓许多模板还是很方便的,修改起来也简单,建议选一个
基础配置配置
项目开发
开发注意事项:
同步
在更改代码之后,需要将更新同步到android平台中,有两种方法可以实现:
ionic capacitor update android
(不知道为啥,未成功)
ionic capacitor sync
原生功能
配置过程
-
配置
AndroidManifest.xml
据大部分功能都需要先配置这个文件才能使用,而官方文档中也没说这个文件路径
该文件是用
android studio
在打开android
文件夹(或者ios
)后,app路径下的manifests
文件夹中这个文件坑就坑在以下三点:
-
VScode打开项目看不到,必须用Android Studio打开android文件夹才能看到;
-
点开manifests文件夹还要加载几秒才能出来,直接搜索文件搜不到
-
在projectName项目中有一个同名文件
-
相机
相机功能可以使用capacitor插件实现
需要知道的是,在调用相机接口后,相机拍摄得到的图片是保存到相册中,然后返回图片的保存路径等信息
<template> <ion-page> <ion-header> <ion-toolbar> <ion-title>相机功能示例</ion-title> </ion-toolbar> </ion-header> <ion-content :fullscreen="true"> <ion-button @click="takePicture">拍照</ion-button> <img :src="path" /> <span>{{ str }}</span> </ion-content> </ion-page> </template> <script setup lang="ts"> import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/vue'; import { Camera, CameraResultType } from '@capacitor/camera'; import { ref } from 'vue'; // 声明一个变量来保存图片对象 const image = ref(); // 或者声明一个变量来单独保存图片路径 const path = ref(''); const str = ref(''); const takePicture = async () => { image.value = await Camera.getPhoto({ quality: 90, allowEditing: true, resultType: CameraResultType.Uri }); path.value = image.value.webPath; str.value = JSON.stringify(image.value); }; </script>
项目打包
-
创建Android平台
命令行进入项目路径,输入
ionic capacitor add android
成功后在醒目根路径下会有一个android文件夹
-
打包成apk
方法一:命令行
方法二:Android Studio
-
进入android项目(android studio打开上一步生成的android文件夹)
-
点击gradle图标(grable是构建工具,如果没有点击后会自动安装,如果超时是因为是国外网站)
-
左上角点出工具栏,开始打包
-
生成apk
-
打包结果
打包成功后,在
android \ app \ debug \
路径下会有一个apk文件,可以直接安装到手机或模拟器
-
测试
方法一:浏览器开发者选项
开发过程中,使用浏览器开发者选项工具测试(只能测试UI布局、和部分业务逻辑)
方法二:模拟器
安装一个模拟器,导入生成的apk文件,再安装运行,可以测试图标、名称以及部分系统能力如系统时间、浏览器、打开应用等
Android Studio自带模拟器
Android Studio右侧工具栏中的设备管理
device manage
中可以开启已有的模拟器(Android Studio安装时如果SDK中选择了模拟器会有一个默认的模拟器设备,如果电脑中安装了其他模拟器如逍遥模拟器,也会显示在这里)也可以自定义添加一个模拟器谷歌模拟器ARC welder
已经从谷歌商店下架,暂时没找到其他下载路径
其他三方模拟器
安装第三方模拟器
选择模拟器:用于开发时可能会用到一些功能,所以对模拟器要有一定选择:
可以导入并安装apk文件
相机、麦克风等需要硬件服务的功能
API版本或安卓版本有一定选择性,能在多个版本间切换而不是只能用一个版本
视图尺寸可调,最好是可以预设几个模板
方法三:真机模拟
大道至简的办法:用QQ把生成的apk发给手机(除了没法热重载,耗时增加半分钟外没有任何缺点)
高效的方法:使用数据线+手机开发者选项+Android Studio的设备管理(第一次配的时候复杂了点,而且我现在用这办法还有问题,应用在手机上安装失败)
真机模拟才能测试应用的所有功能,唯一缺陷是不好测试其他API版本兼容性或者说设备成本较高