Android系统开发
记录Rockchip平台/全志平台 android系统相关修改、调试、功能开发内容
hedalei
android系统工程师一枚
展开
-
截图后使用图库编辑打开图片报错问题
此问题是由于图库在系统没有触摸屏的时候不会加载actionBar,导致空指针出现。解决方法就是针对报错进行规避即可。Android系统截图后,点击截图后出现的编辑按钮,会调用图库打开,这个时候会出现闪退报错的现象。原创 2024-07-04 11:29:10 · 323 阅读 · 0 评论 -
Android11以上系统实现app霸屏的一种设置
具体方式就是开机以后去启动要设置的app,然后通过ActivityTaskManager.getService().startSystemLockTaskMode(taskId)去设置app为固定app。然后,打开要设置的应用,在点击导航栏的recent按键(方形的那个按键),然后 长按顶上的图标就会出来一个菜单,里面有一个固定的选项。app这个时候就退出不了。Android11以上系统有一种设置普通app实现霸屏的功能,即让系统一直停留在当前app界面,只有特殊的组合操作才能退出到其他app的界面。原创 2024-06-27 19:15:58 · 333 阅读 · 0 评论 -
记一次uboot崩溃“Exception from SError interrupt”
已知添加的驱动在其他cpu主板上面是可以正常运行的,但是在这个主板上面就出现了此问题。最开始怀疑是本组i2c的原因,换了一组问题依旧。最好加log打印,最终追踪到是驱动中的一句代码引起的,而这句代码是可以不需要去调用的,屏蔽之后问题就解决了。原创 2024-06-26 10:26:07 · 529 阅读 · 0 评论 -
全志平台开机停在内核阶段问题
从log上面看没有什么报错的提示。非常的摸不着头脑,不知道如何是好。想到之前的代码版本是可以的,于是想到应该是最近的修改引起的。最近修改dts配置以及驱动。把修改的文件还原到之前,重新编译系统又可以了。最后定位到时dts中的gpio写法问题引起的。最近调试全志平台的机器,遇到了机器开机只亮第一张logo就停止的问题,查看串口log,发现只跑到内核开始的地方就停止了。原创 2024-06-26 10:36:57 · 114 阅读 · 0 评论 -
Allwinner全志平台点9365芯片mipi屏点不亮问题
9365芯片要求的时钟频率是240Mhz。这样Dclk按正常的计算是要达到80Mhz(即lcd_dclk_freq要为80),实际测试点不亮的时候设置lcd_dclk_freq为80也是可以点亮的。但是这样fps就超过了60帧。Allwinner全志平台有个通病,就是点9365芯片的mipi屏,需要特殊处理,直接拿其他平台的初始化参数来点,是不能够正常点亮的。这可能和全志的dsi时钟频率有关。处理方式就是在屏的初始化参数中添加0x37寄存器的设置。原创 2024-06-26 10:38:10 · 152 阅读 · 0 评论 -
gpio模拟pwm用于控制led灯亮度
使用cpu普通gpio口模拟pwm信号,控制led灯开关和调节亮度原创 2024-06-21 19:54:03 · 378 阅读 · 0 评论 -
android系统中如何禁止访问某个IP或网址
iptables工具是Linux系统的IP信息包过滤工具。使用这个工具禁止机器访问IP或者网址。只要在adb中执行命令:iptables -I INPUT -s IP或网址 -j DROP。如:要禁止机器访问www.baidu.com,执行命令为“iptables -I INPUT -s www.baidu.com -j DROP”。向文件中添加“127.0.0.1 +空格+IP或网址”,如要屏蔽www.qq.com,这添加“127.0.0.1 www.qq.com”到文件中去。使用iptables工具。原创 2024-06-27 14:18:50 · 400 阅读 · 0 评论 -
获取以太网mac地址的一种方法(支持Android13及以下系统)
介绍一种获取以太网mac地址的一种方法,该方法支持支持Android13以下系统,该方法是通过读取/sys/class/net/eth0/address节点进行mac地址获取。原创 2024-06-27 11:06:47 · 178 阅读 · 0 评论 -
android系统同步时间不了问题
android系统都有一个固定的同步系统时间的ntp服务器地址。有时候可能会出现这个地址突然不能够同步时间的情况。为了解决这个问题,需要给系统预设其他的ntp服务器地址。当系统使用当前的ntp服务器地址同步时间失败后,使用预设的其他地址。原创 2024-06-26 10:43:41 · 126 阅读 · 0 评论 -
修改内核驱动加载顺序的一种方法
同样驱动B的初始化函数也是通过module_init(B_driver_init)来调用。这个时候我们要修改某个驱动的加载顺序,可以通过替换module_init来实现。因此如果我们要修改驱动A优先驱动B加载,那么就可以将驱动B加载靠后,即可以将module_init(B_driver_init)替换为late_initcall(B_driver_init);在内核驱动中,有两个驱动,驱动A和驱动B,当前系统启动的时候驱动B先加载,驱动A后加载。而我们希望驱动A能够优先驱动B加载。原创 2024-06-26 10:34:11 · 276 阅读 · 0 评论 -
make file拷贝后缀相同的文件到指定目录下
需要将当前目录下的所有so文件拷贝到/system/lib目录下,应该怎么写命令呢。命令如下:PRODUCT_COPY_FILES += \$(call find-copy-subdir-files,*.so,$(LOCAL_PATH)/lib_VScreen,system/lib)原创 2024-06-26 10:31:31 · 291 阅读 · 0 评论 -
android13修改默认usb tp支持触摸唤醒
android13系统中修改usb tp触摸唤醒需要修改两个地方,一个是修改设备为可唤醒系统设备,一个是修改触摸设备在系统休眠之后,usb tp设备不被关闭掉。原创 2024-06-25 15:54:28 · 436 阅读 · 0 评论 -
Android系统如何获取系统SettingsProvider的默认参数
SettingsProvider中的global参数存放在settings_global.xml,secure参数存放在settings_secure.xml,system参数存放在settings_system.xml。在android12之后的系统中,data/system/users/0目录下的settings_global.xml,settings_secure.xml,settings_system.xml这些文件打开查看到的是乱码。下面介绍获取SettingsProvider的默认参数的方法。原创 2024-06-24 12:10:03 · 412 阅读 · 0 评论 -
Android设备断电开机后系统设置的选项状态不保存问题
跟踪状态值保存的文件,data/system/users/0目录下的文件settings_global.xml,settings_secure.xml,settings_system.xml这些文件里面的值都是有更改到的。查看了当前data分区的格式为f2fs,这种格式的文件系统写入后不会立马同步,这可能是导致断电设置状态不保存的原因。不带电池的Android设备,设置系统选项以后,断电开机,关机前设置的状态不会保存,又变成了设置前的状态。如果不断电关机,而是软重启,则重启前设置的状态是可以保存的。原创 2024-06-24 12:06:38 · 250 阅读 · 0 评论 -
Rockchip平台Android12 去掉rk相关app修改
2.找到device/rockchip/common/modules/rockchip_apps.mk,这个文件就是控制vendor/rockchip/common/apps所有app是否编译的总makefile。修改这个文件,将需要去掉的app名称删掉即可。在rockchip android12以前的版本中如果要去掉rockchip相关的一些app,修改vendor/rockchip/common/apps下面的apps.mk,将对应app名称去掉即可。对于这个问题需要怎么解决呢?原创 2024-06-24 12:03:52 · 381 阅读 · 0 评论 -
Android13替换壁纸后系统图标控件的颜色发生变化问题
如果需要修改系统关闭这个特性,只需要找到系统源码frameworks/base/packages/SystemUI/res/values/flags.xml中的flag_monet,将值改成false即可。这个时候系统的有些图标,比如系统设置图标也会变成暖色调图标,另外还有一些开关控件的颜色也发生了变化。这个是Android12系统版本以后添加的新特性,这个特性叫monet(莫耐)的功能。可以从壁纸中获取颜色,并根据获取的颜色调整整个系统的主题颜色,包括快捷设置、通知,还有设置菜单中的按钮和滑条等。原创 2024-06-24 11:59:46 · 582 阅读 · 0 评论 -
Android12修改蓝牙打开后状态栏显示蓝牙图标
Android12系统以后,打开蓝牙的时候,状态栏上面是没有蓝牙图标显示的,只有当蓝牙连接到了设备,状态栏才会显示蓝牙已连接的图标。如果要让状态在蓝牙打开后也有图标,我们需要修改一下frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java中的private final void updateBluetooth()函数,具体修改如下:上面代码中当mBluetoot原创 2024-06-24 11:56:49 · 580 阅读 · 0 评论 -
i2c tp做双屏异触问题
如果使用相同触摸i2c的触摸屏,则需要拷贝一份驱动,然后把相应的驱动名称以及驱动的相关函数改一下即可,如是gt9xx,可以在驱动名称以及驱动函数中将gt9xx改为gt9xx_2。edp对应的触摸分辨率却是不对的。android主板带两个i2c tp接口,现在需要点两个不一样分辨率的屏,一个1920x1080 lvds(主屏),一个1366x768 edp(副屏),每个屏都是带有i2c触摸屏的,而且以及按对应的分辨率调好了。如下面代码为将触摸名称gt9xx的触摸配置为主触摸,其他的为副触摸。原创 2024-06-22 11:47:29 · 221 阅读 · 0 评论 -
android12修改系统强制应用跟着屏幕显示方向显示
android系统中,当系统默认为横屏的时候,打开一些竖屏应用,系统会跟着变成竖屏显示。如果要强制应用跟随屏幕显示方向显示,需要做什么修改呢?原创 2024-06-21 19:58:11 · 263 阅读 · 0 评论