鸿蒙端云一体化开发如何使用模拟器调试云函数方法!! 踩了无数坑才成功,当个事办
解决鸿蒙云端一体化开发时,模拟器无法调用云函数问题!!!
兄弟萌,鸿蒙开发更新迭代很快,当前最新版本已经来到了DevEco Studio 6.0.2 Release,api level 是API Version 22 Release。咱直接进入主题。
一、 问题痛点
咱们按照网上教程啊,比如b站黑马的视频进行操作,发现依赖或者是模块根本不适配了已经,主要问题还是咱们运行模拟器时会出现各种错误,反正就是调用不了云函数。
二、 原因点
根据华为开发官网上最新给出的说法,如何需要模拟器来调用函数的话必须咱们的DevEco Studio是得到达6.0.0版本才行。其次就是由于咱们模拟器属于不被信任,需要额外设置一个模拟器调试凭据。
三、具体操作
为了方便大家理解,咱直接从头开始操作,跟着做,包行的!
第一步 更新版本
首先咱们要看一下自己的开发工具DevEco Studio是什么版本的。如果不够6.0.0,那咱们就需要去官网下载最新的DevEco Studio。这是具体的地址昂:最新版本 - 下载中心 - 华为开发者联盟 (huawei.com),然后看咱们电脑型号选择对应的软件包来安装就行。
第二步 自动签名设置
关于在AppGallery Connect平台创建对应的项目及其应用啥的,咱就不在这赘述了,冲着解决核心问题去。
首先对咱们的应用进行一个自动签名设置。
这一步的目的是为了接下来能获取一个调试凭据
文件-> 项目结构 -> 点击signing Config
勾选上Automatically generate signature
然后点击 apply -> ok 即可


第三步 获取调试凭据
在已经运行的模拟器上,执行我们当前的Index.ets文件。

然后点击模拟器上的run按钮,进入模拟器后,点击调用云函数来获取调试凭据。

获取方式如下图:运行代码后,点击日志,在HiLog栏目下,选择 No filters,搜索栏中输入clouddevelopproxy.debugToken。其中clouddevelopproxy.debugToken= xxx。这个xxx就是我们的调试凭据

为保持大家操作一致性,我这边提供Index.ets和云函数详细代码内容(云函数部署到云侧就不在此赘述)
Index.ets:
ps:请注意在此代码中修改云函数的具体name

import { cloudFunction } from '@kit.CloudFoundationKit';//云函数
import { BusinessError } from '@kit.BasicServicesKit';
interface IData{
title:string
}
interface IResultData {
code:number
desc:string
data:IData[]
}
interface Ires {
result: IResultData
}
@Entry
@Component
struct Index {
@State receiveMsg:string=''
@State data:IData[]=[]
build() {
Column(){
Button("获取云函数数据").fontSize(40).height(80).width('98%')
.onClick(async ()=>{
cloudFunction.call({ name: 'test01' }).then((res: cloudFunction.FunctionResult) => {
let callback = res as Ires;
this.data=callback.result.data
}).catch((err: BusinessError) => {
console.error(`Failed to call the function, Code: ${err.code}, message: ${err.message}`);
});
})
List({space:10}){
ForEach(this.data,(item:IData)=>{
SubItem({title:item.title})
})
}
Text(this.receiveMsg)
}.width("100%")
}
}
@Preview@Component
export struct SubItem{
title:string='--'
build() {
Row(){
Column({space:5}){
Text(this.title).fontSize(20).maxLines(1).textOverflow({overflow:TextOverflow.Ellipsis})
}.width("60%")
}
}
}
云函数内容:
let myHandler = async function (event, context, callback, logger) {
logger.info(event);
// do something here
callback({
code: 0,
desc: "Success.",
data: [
{
"title": "我是最棒的"
},
{
"title": "一直是"
}
]
});
};
export { myHandler };
第四步 注册调试凭据(在AGC平台上操作)
这里是具体网址:AppGallery Connect (huawei.com)
登录后 点击证书、app这个按钮

进入后 选择 模拟器调试凭据,点击右上角的注册凭据

在应用名称这一行的下拉框中 选择我们此次项目对应的应用
在调试凭据这一行中copy我们上一步中获取的调试凭据,点击注册
第五步 调试
最后重新启动一下我们的的代码进程
再次点击 调用云函数,即可成功。 谢谢观看,一起加油!!!

更多推荐




所有评论(0)