常见问题汇总

最后更新: 2021/1/4

 

问题分类问题描述解决方案
环境配置相关问题为什么在orionos-cli login的时候提示用户不存在。orionos-cli login使用的账号是接待平台账号,一般是一个手机号。
注意:不是用npm账号登录。
配置环境时报错:npm ERR! code EINTEGRITY删除package-lock.json文件,重新npm install
为什么没有生成package-lock.json文件 运行npm config set package-lock true
或者找到.npmrc文件查看是否有package-lock=true,删除该条如果是init之后没有该文件,需要修改全局.npmrc文件,文件位置根据系统会不同,请自行百度
如果上述修改依然无效,请卸载重装nodejs
开发过程中问题如何进行离线调试

确保机器人的小豹App处于运行状态,然后依次执行以下操作:

1. 电脑通过usb连接机器人
2. 使用Robot App Studio 打开项目,编译opk
3. 将打包好的opk推送到机器人,例如:adb push dist/打包好的opk文件 /sdcard/robot/rndata/
4. 安装opk,命令:adb shell am broadcast -a com.ainirobot.remotecontrolservice.rninstallfinish --es path "/sdcard/robot/rndata/opk名称.opk" --es id "项目appid"
5. 通过deeplink启动,adb shell am broadcast -a com.ainirobot.moduleapp.DEEP_LINK --es deeplink "robotos://项目appid"
 

如何读取跳转页面携带参数?目前RobotOS平台使用react-navigation进行跳转,使用props.navigation.state.params.result进行取值
可以参照react-navigation文档:https://reactnavigation.org/docs/params
小豹的人脸库可以使用客户自己的数据库或者接口么? 小豹人脸库信息是否可以导出?人脸库是可以对接接口的,目前平台的人脸库不能导出。
如何在页面内进行语音交互(通过语音指令调用指定页面)通过JS将功能页面实现——NLP配置意图领域——在代码中通过NLP返回的intent调起对应页面
在接待后台配置了三方APP包后,如何在rn中实现调用该APP1.将core版本改成1.14.3及以上版本
2.重新运行npm install
3.使用core里面OpenAppApi.openThirdPartyApp(packageName,activityName)。对接包名、Activity名
如何在豹小秘中实现二维码扫描和识别,用于支付宝、微信以及银联支付可以通过调用安卓原生摄像头,开发识别二维码。支付模块需要单独看下第三方的SDK服务;或者界面呈现二维码付款页面,让用户去扫码支付。
请问设置灯带颜色api 颜色支持什么格式的? #f00、#ff0000、red都试了,无效。
// 设置灯带颜色
RobotApi.setLambColor(1, 'rgb(255,255,255)');
LIGHT_EFFECT_TYPE;有对应的常量值
调用豹小秘的前摄像头主动拍照,用哪个组件或api?多个豹小秘之间数据通讯是否通过云端进行,有可以参考的实现方式吗?1.有引入camera,http://dev.ainirobot.com/doc/d7437db0811d11e987197dd7c45ba905
2.目前没有做多台机器数据同步
人脸识别api中:getAllPersonNum、getLastPersonName 无效,getLastPersonId 返回null,getAllPerson返回数组,但其中的id和首页中的人脸识别返回的id不同,请问是什么原因let action = new CommandListener();
action.addListener(
CommandListener.EVENT_RESULT,
(msg: any) => {
console.log(TAG, 'getMapName : ' + JSON.stringify(msg));
}
);
RobotApi.getMapName(action.getId());

首先声明一个对应的CommandListener 把对应的id作为参数就行了
要进行人脸识别使用哪个组件呢
怎么通过id获取人的所有信息呢?
可以使用PersonAppearComponent组件
识别到人后的event.data后携带人的所有信息
请问RobotApi中的根据id获取人物信息,返回的结果是code -102 什么含义,有说明吗服务端返回错误码 -102,该错误码代表建议用户重试
请问, SettingsUtil.getSystemProperties 只能获取sn吗 ,参数我传入SettingConst.ROBOT_MODE、SettingConst.CORP_NAME等信息,回调给我的都是undefined,我的orionos-eve-core 是1.14.3版本。(如何获取机器SN?)获取sn请用systeminfo这个类
android 9.0 之后不能用 SettingsUtil.getSystemProperties
webview组件引入后无效是什么问题,页面是空白的。原因是return的内容的根组件只能是WebView标签 当我在外层包裹一个View标签的时候 页面就是空白的 引入的页面显示不出来。
文档:https://stackoverflow.com/questions/38963046/can-i-use-webview-inside-a-view-react-native
请问哪种类型的第三方RN组件可以直接使用呢? 试过好几个,均无法使用纯JS的三方库可以直接引用。需要修改Android代码的三方库可以使用动态加载能力组件的方式引用。参考文档:http://dev.ainirobot.com/doc/d475c270003711ea888667027a9da629
 人脸识别的时候,会有一个remoteFaceId, 这个id我看了一下,机器重启或者换了一个机器都没有变, 我想把这个id作为用户的标识会有问题吗?这个ID短时间不会变,后面可能会调整。
平台是否有录音组件,用于获取音频文件录音组件:http://dev.ainirobot.com/doc/47aa5350811211e987197dd7c45ba905
使用录音时需要将语音识别关闭。
speechApi:http://dev.ainirobot.com/doc/eb9c6b9086aa11e987197dd7c45ba905
 请问在h5页面中,如何调用机器人的摄像头?调用摄像头有安卓接口,H5还不支持
 请教个问题,opk 现在支持打包音频资源并播放么?orionos-cli pack --multiBundle false --extraEnable true --dev false 使用这个打包命令会把额外资源文件打到opk里面
文件放在项目extraResource目录下
 在rn架构里如何实现跟自己的服务器进行数据通讯。rn中可以使用fetch API进行网络请求。
其他问题如何获取获取设备SN号?CoreVerson < 1.6 使用 SettingsUtil.getSystemProperties('ro.serialno.robot')
CoreVerson >=1.6 使用 SystemInfo.getDeviceSn()
如何快速通过log定位问题?(如何获取log)使用AndroidStudio中logcat ReactNative业务TAG:ReactNativeJS 
实时log:如有关键信息需要临时保存可以使用adb logcat >log.text 进行log保存分析 
离线log路径:设备会保存业务log,通过adb pull 对应路径:/sdcard/logs/offlineLogs/821 
为何在运行debug版本时候,有时图片不能正确显示?请检查是否连接了USB。因为在运行debug版本时候加载bundle文件是通过本地服务进行加载(adb reverse),所以需要链接usb
Mobx 状态管理控制机制是什么?目前平台使用Mobx进行状态控制,具体使用可以参考官方文档:https://cn.mobx.js.org/
 无法启动调试模式,运行run无效如果没有报错,且显示机器人链接的端口都正常。可以将机器人恢复出厂设置,再重新运行