android一些简单的配置修改

279 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

记录android的一些简单的配置修改,可能在一些条件中需要遇到。

一、蓝牙的mac地址不固定

bug:每次对开发板进行初始化设置过后,蓝牙的mac地址都会改变 修改配置文件: 目录: hardware/broadcom/libbt/include/vnd_rksdk.txt

-USE_CONTROLLER_BDADDR = FALSE
+USE_CONTROLLER_BDADDR = TRUE

二、关闭锁屏设置

bug:关闭android的锁屏设置 目录:device/fsl / imx8m/evk_8mp/init.rc

     setprop ro.config.density_override  211
+    setprop ro.lockscreen.disable.default true

on init
     # cpuctl hierarchy for devices using utilclamp

三、关闭导航键,启动全屏模式

bug:关闭android的导航键 目录:device/fsl/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml

    <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
         autodetected from the Configuration. -->
-			<bool name="config_showNavigationBar">true</bool>
+			<bool name="config_showNavigationBar">false</bool>

    <!-- This device is not "voice capable"; it's data-only. -->

四、去掉内核打印

bug:去掉内核打印 目录:kernel-imx/lib/Kconfig.debug

config MESSAGE_LOGLEVEL_DEFAULT
    int "Default message log level (1-7)"
    range 1 7
-	default "4"
+	default "7"
    help
      Default log level for printk statements with no specified priority.

      This was hard-coded to KERN_WARNING since at least 2.6.10 but folks
      that are auditing their logs closely may want to set it to a lower

去掉所有打印,demsg可以打印出来

2)去掉内核中的printk打印 目录:linux-imx/kernel/printk/printk.c

asmlinkage int vprintk(const char *fmt, va_list args)
{
-	return vprintk_func(fmt, args);
+	return 0;
}
EXPORT_SYMBOL(vprintk);
......
asmlinkage __visible int printk(const char *fmt, ...)
{
	va_list args;
	int r;
+	if(1) 
+		return 0;

	va_start(args, fmt);
......
asmlinkage __visible void early_printk(const char *fmt, ...)
{
	va_list ap;
	char buf[512];
	int n;
+	if(1) 
+		return;

	if (!early_console)
		return;

五、NXP直接拉高GPIO的方式

/*dts直接将某一个gpio拉高*/
......
	pinctrl_hog: hoggrp {
		fsl,pins = <
			IMX8QXP_QSPI0A_DATA3_LSIO_GPIO3_IO12     	0x00000020 //初始化为gpio功能
......
&lsio_gpio3 {
	AP6275-EN {
		gpio-hog;
		gpios = <12 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "ap6275-en";
	};
};

六、android按键事件定义

案件事件对应的编号在源码中已经定义好的了: 目录:kernel_imx/include/uapi/linux/input-event-codes.h dts配置:

	gpio-keys {
        compatible = "gpio-keys";
        autorepeat;

        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpio_keys>;

        key_volumeup {
            label = "key_volumeup";
			linux,input-type = <1>;
            linux,code = <115>; //事件编号
            gpios = <&lsio_gpio3 19 1>; //对应的gpio
        };
		key_volumedown {
            label = "key_volumedown";
			linux,input-type = <1>;
            linux,code = <114>;
            gpios = <&lsio_gpio3 21 1>;
        };