Android FAQ
0.0.1. Q.编译错误
A:发生编译错误时,可按如下流程处理
项目根目录执行
./gradlew clean build,看是否能编译通过,如果能编译通过,说明代码没问题。确定Android Studio 是否为最新版本,并关闭 Instant Run 再次尝试。
根据错误提示,网上搜索一下。
0.0.2. Q.编译错误,提示大量Glide.xxx相关错误
A. 请关闭Instant Run,再次尝试,或者尝试命令行下编译。
0.0.3. Q. 编译错误,提示GlideApp相关错误
A. 其他编译错误引起,不是Glide问题。
0.0.4. Q. 如何把项目导入到IDE中?
A. 回答
0.0.5. Q. 后台无法弹出音视频界面
A. 检查是否在手机的权限管理里面打开了"允许应用在后台弹出界面",如果更换过包名或applicaitonId,请继续检查更换包名
0.0.6. Q. 更换包名
A. 产品上线之前,一定要更换包名和签名
clientmodule下的包名不可更改- 修改
chat/build.gradle里面的applicationId
0.0.7. Q. 重复收到消息/同一条消息,触发多次onReceiveMessage回调
A. 野火IM SDK 只允许在主进程进行初始化,即ChatManager.init或WfcUIKit.init只需在主进程调用一次,可参考MyApp.java
0.0.8. Q. 如何抓取日志
A. 回答
0.0.9. Q. 小米手机收不到音视频相关推送
A. 回答
0.0.10. Q. 发送消息时显示正常,但接收方显示未知消息;同时,发送方退出,再次进入时,也显示位置消息
A. 继承MessageContent自定义消息时,一定要确保自定义消息包含一个无参构造函数。
0.0.11. Q. 点击消息推送通知,如何根据消息类型,跳转到不同的界面?
A. 回答
0.0.12. Q. 如果改大AS的终端缓存区大小以便抓取更多的日志
A. 先使用快捷键 Ctrl + Shift + A(Mac下Ctrl换成Cmd),然后输入registry,选中之后弹出一个界面,向下滚动到terminal.buffer.max.lines.count,默认值应该是5000,可以改成50000,然后重启。
0.0.13. Q. 应用后台运行或应用被杀之后,收到音视频通话邀请,不能弹出接听界面
A.
如果应用在后台运行,设置允许后台弹出界面,即可弹出接听界面
如果应用进程已被杀死,音视频通话邀请会通过推送进行通知;推送有两种形式:透传(小米、华为支持)和通知栏。如果是透传通知的话,配置应用允许自启动和后台弹出界面,即可弹出接听界面;如果是通知栏通知的话,那么没办法自动弹出接听界面,直接点击通知,进入应用才能弹出
0.0.14. Q. 如何把android设备的类型从android手机改成android Pad?
A. 默认android设备都会被认为是手机,可以修改类型改成pad,这样手机可以和pad共存。在ClientService.java的getDeviceType方法中,把DeviceInfo的platform改成9。另外在登录时,需要把platform也改成9。同理iOS也可以改成Pad,请参考iOS常见问题。
0.0.15. Q. 如何替换动态表情?
A. 野火默认的动态表情包,存储在uikit/src/main/assets/sticker 目录下,添加新表情包时,需要添加一个表情包目录及封面图片,类似默认的B数目录及B数.png