![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 12
文章平均质量分 52
iamjustnobody
这个作者很懒,什么都没留下…
展开
-
RK3568 android12 声卡调试
按照上面添加节点后,可以识别到两个device了,但是录音的时候默认还是使用的是device 0,没有使用device 1,所以在start_input_stream加多一个强制切到device 1的动作。公版的声音输出接的是I2S1,录音走的也是I2S1,而我们的产品声音输出接的是SPDIF,录音用的还是I2S,所以使用公版的dts配置,会出现喇叭没有声音的问题,需要另外配置。修改完后,喇叭和录音都可以正常了。原创 2023-11-03 11:19:18 · 982 阅读 · 0 评论 -
Android出现“android.media.MediaMetadataRetriever.finalize() timed out” 错误
因为多媒体的视频列表有获取Thumbnail的动作,而且每个视频文件都会调用一次,所以文件多的话,会调用多次,有可能出现网上说的释放不及时的问题。在网上查了很多资料,一个比较有价值的回复是:出现finalize timeout的问题,应该是MediaMetadataRetriever对象没有及时释放,但是又在继续创建新的对象。发现了问题原因,剩下就是试验了,在createVideoThumbnail函数的几个return函数前都添加一个release动作,进行主动的释放,果然没有再出问题。原创 2023-07-19 19:30:16 · 126 阅读 · 0 评论 -
Android 12 Settings的Connected devices页面无法获取焦点问题
在客制化过程中,发现Connected devices页面进去后无法获取到焦点,导致控器操作不起作用。具体方案:在切换完fragment后,起一个handler延时300ms去触发系统重新获取焦点,这里用clearFocus()函数来清理掉recyler_view中的焦点,触发系统重新寻找合适的焦点条目。经过各种对比试验,发现问题原因应该是因为Connected devices页面里的条目都是动态构建的,耗时比较长,在view初始focus的时候,条目还没有加载完,所以导致条目无法获取焦点。原创 2023-07-14 17:20:12 · 372 阅读 · 1 评论 -
修改Android系统AlertDialog的按钮选中背景色
Android 12系统默认的AlertDialog的按钮背选中景色太淡了,肉眼比较难看不出跟未选中的区别。例如安装应用时弹出的确认是否安装的对话框,用遥控器切换“cacel”和“install”两个选项,不仔细看无法确认到底光标在哪个按钮上,因此需要修改下按钮选中时的背景色,提升辨识度。原创 2023-06-29 15:53:59 · 969 阅读 · 1 评论 -
RK3568修改蓝牙显示的名字
有时候需要修改RK3568设备这一端蓝牙在其他设备上显示的名字,例如有时要改成客户品牌的名字或者改成方案的名字,这个就需要修改默认的设备名称。原创 2023-06-08 14:40:26 · 389 阅读 · 1 评论 -
Android 12安装应用出错:For security reasons, the system cannot issue a Uri permission
通过如上log和前面的AndroidRuntime的堆栈打印,定位到是checkGrantUriPermissionUnlocked函数里面做的权限检查,如下是checkGrantUriPermissionUnlocked函数中做判断的部分代码。通过上面代码可以看出,针对是SYSTEM_ID和ROOT_UID应用,如果不是指定的授权包名就会直接返回-1,即not allow。所以要解决该问题,只要把自己的应用包名加进去就行了。原创 2023-05-25 10:47:13 · 1546 阅读 · 1 评论 -
Android 12去除安装应用时的“未知应用来源”提示
在Android 12的系统中预装了一个第三方的应用商店,但是首次安装应用的时候会提示该商店是未知来源,需要用户跳转到系统设置去给该应用设置成可安装应用。虽然该提示只是在首次安装应用的时候才提示,但是对一个产品来说如果预装的商店弹出此提示,还是会让用户对产品有所怀疑,所以需要把该提示去掉。原创 2023-05-24 17:06:07 · 1751 阅读 · 0 评论 -
RK3568 Android12 kernel logo跟uboot logo使用同一个logo文件,节省boot.img空间
在之前的3128平台上是只有一个logo的,但是新的3568 Android12 平台开机logo有两个,一个是uboot显示的logo,文件名是logo.bmp;另一个是kernel显示的logo,文件名是logo_kernel.bmp。原创 2023-05-19 15:57:31 · 1444 阅读 · 3 评论 -
CPATH在Android 12的Recovery模块中不起作用问题
这个方式之前在android 7.1上是ok的,另外即使在android 12平台上,编译uboot和kernel也都是能找到的,唯独在编译recovery的时候报错,百思不得其解。在网上也没有查到相关信息,后面一点点查编译的makefile,看uboot和recovery有和区别,发现recovery用的是Android.bp,不是用的Android.mk。注:目前在soong下只能用回老方法,在每一个模块里面去include头文件的方式,暂未找到一个类似CPATH这样可以全局声明头文件路径的方式。原创 2023-05-04 20:48:01 · 131 阅读 · 0 评论 -
Android 12在framework中添加文件编译报not in the allow list build/soong/scripts/check_boot_jars/package_allow错
Android 7.1 在framework/base/core目录下添加文件java和aidl文件后,编译时需要先make update-api去更新current.txt文件,然后才能完整编译android。在package_allowed_list.txt中把新添加的包名加上即可,如下图红框所示,其中\是转义字符。原创 2023-05-10 19:55:53 · 1217 阅读 · 2 评论 -
RK3568 替换默认输入法为Pinyin输入法
3)设置PinyinIME为默认输入法。这一步在网上搜了几个方案 ,但是都有些问题,后面自己试验用如下方式可以设置成功,即在InputManagerServices.java的buildInputMethodListLocked函数中添加设置默认输入法值的动作。由于系统自带的Latin输入法不支持遥控器操作,需要替换为RK的拼音输入法。1)将LatinIME从mk中删除,让系统编译的时候不编译该apk。2)添加PinyinIME的编译预装。原创 2023-05-10 19:25:12 · 562 阅读 · 1 评论 -
RK3568 Android 12在parameter.txt添加buildtime参数防止重复刷机
RK3568的编译流程是先编译u-boot,然后kernel,最后编译Android,这3个编译完后会在rockdev /product_model/目录下生成打包需要的img文件,例如boot.img、uboot.img、recovery.img、super.img等,最最后才调用打包脚本去生成update.img文件,下面是RK打包工具的输出信息,可以看到parameter.txt也是有被一起打包进去的 ,offset是0x73000。下面是自己写的查找方法,有些地方写的不严谨,不过能满足需求了。原创 2023-05-10 14:17:38 · 825 阅读 · 1 评论