RK平台视频播放器无法浮窗播放

最近发现RK平台某些机型的视频播放器在播放视频时,如果点击浮窗播放的按钮播放就会停止。抓Log提示:

ActivityManager: Unable to start service Intent {
act=com.rk.app.mediafloat.CUSTOM_ACTION
pkg=com.android.rk.mediafloat
cmp=com.android.rk.mediafloat/.MediaFloatService 
(has extras) } U=0: not found

视频播放器是集成的 vendor/rockchip/common/apps/RkVideoPlayer/RkVideoPlayer.apk。 Log提示是找不到“com.android.rk.mediafloat”,是否是应用本身的问题呢?因为只是个别机型有这个问题,所以还是要查一下系统代码。
经对比发现出问题的机型改过安全证书,把证书的修改 revert 之后,就可以浮窗播放了。看了一下RkVideoPlayer.apk 的编译文件,发现签名是 PRESIGNED,于是改成了 platform。但试了还是不行。问了一下同事,同事怀疑这个“com.android.rk.mediafloat” 并不是RkVideoPlayer.apk 里的。通过指令查一下RkVideoPlayer.apk包含哪些action。
首先列出所有包名:

#pm list package -f

由输出可知RkVideoPlayer.apk 的包名是 android.rk.RockVideoPlayer

dumpsys package android.rk.RockVideoPlayer

发现它并不包含 “com.rk.app.mediafloat.CUSTOM_ACTION”。而且第一个指令输出所有包名时也不包含 com.android.rk.mediafloat 。抓取刷机后第一次开机log,证明这个 package 确实没有安装成功:

PackageManager: Failed to parse 
/system/app/MediaFloat: Signature mismatch for shared user: 
SharedUserSetting{87a8a26 android.uid.system/1000}

咳,原来是MediaFloat.apk 的签名有问题。将其编译文件中的 PRESIGNED 改成 platform,问题解决了。
后知后觉,当发现是签名导致的问题时,应该抓系统Log看一下的,就不用绕这么一大圈了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值