iTOP-4418开发板Android5.1文件系统源码修改

2019年12月25日 14:22    发布者:落风
基于:迅为iTOP-4418开发板10.9.2.1 将 APK 编译到 Android5.1 镜像中本节介绍的是如何默认安装 apk 至系统,当然用户也可以使用”adb install *.apk”命令将 apk 下载到开发板。但当开发板数量较多的时候,那么每次使用 adb 命令就过于繁琐了,因此将必要的 apk 编译至 Android 镜像中会大大提升工作效率。如下图所示,在 Android5.1 源码目录“device/nexell/s5p6818_drone/apk”中,有一些默认的应用程序。如果想再添加应用程序,那么以 ledtest 为例,你只需要在 apk 文件下建立文件夹 ledtest。然后将 ledtest.apk 和 libled.so 放进文件夹 ledtest 中。 进入到 ledtest 文件夹可以看到ledtest 的 APK 和对应的库文件。如下图所示,安装 APK 的脚本是“device/nexell/s5p6818_drone/device.mk”首先进入对应文件夹,然后打开 device.mk。如下图所示,这两行脚本是与 ledtest 相关的。首先将 ledtest.apk 放到对应的文件夹中。其次,ledtest 需要一个库文件,这个库文件也要放到对应的文件夹中。(这几段代码是 要自己添加的)如果是其它的 APK,可以参考 ledtest 的脚本。修改完后,保存退出。 接着进入源码目录进行编译。源码编译完成之后,将 Android5.1 镜像(包括 boot.img 内核镜像)烧写至开发板就
可 以看见 ledtest 应用程序。 然后打开 ledtest 应用程序,点击 LED1 ON 按钮可以点亮板子上的 led,点击 LED1 OFF 按钮可以熄灭板子上的 led 小灯。如果小灯没有反应,则需要到给予 led 的设备节点权限,在串口控制台输入“chmod 777/dev/leds_ctl”,如下图所示。使用命令”ls -l /dev | grep led”看到命令执行成功。接下来使用 app 便可以控制 led 的亮灭。10.9.2.2 去掉默认安装的 APK在 Android5.1 文件系统中,默认安装了一些应用程序,如果有不需要的可以将其去掉。本文以游戏 2048 为例。安装 APK 的脚本是“device/nexell/s5p6818_drone/device.mk”首先进入对应文件夹,然后打开 device.mk,如下图所示。然后找到 2048 对应的内容,注释掉,如下图所示。保存退出,接着进入源码目录进行编译。源码编译完成后,将 Android5.1 镜像(包括 boot.img 内核镜像)烧写至开发板就看不到 2048 应用程序。10.9.2.3 Android5.1 设备权限的修改在 Android5.1 下调用设备内核驱动的设备节点的时候,会遇到没有权限的问题,这个时候需要修改一下设备的权限。下面以串口为例介绍一下,其它的设备修改方法也类似。 在Android5.1 下操作串口有时会遇到没有权限的问题,这就需要修改下 android5.1 的启动脚本,在里面修改下串口的权限。在 Android5.1 源码目录下输入“vim device/nexell/s5p6818_drone/init.s5p6818_drone.rc”结果如下图所示。在里面添加修改权限的命令,如下图所示。上面的“chmod 0777 xxxx”就是修改设备节点的权限,如上图所示,我们已修改了ttySAC0、ttySAC1、ttySAC3 设备节点的权限。按照此方法同样可以修改其他设备节点的权限。然后输入“./build_android.sh”回车后开始编译 android,如下图所示。编译完成后,把镜像(包括 boot.img 内核镜像)烧写至开发板,重新启动 android。进入文件夹 dev,使用”ls -l”命令就可以看到串口的权限修改了(r-可读,w-可写,x-可执 行)。10.9.2.4 开机横竖屏切换6818 底板带有陀螺仪。屏幕会随着板子的角度自动进行横竖屏切换。如下图。若想固定屏幕方向,可按照如下方法设置。10.9.2.4.1 去掉自动旋转功能(默认横屏)如下图,在 Android 源码目录下输入命令“viframeworks/base/core/res/res/values/config.xml”在里面使用”/config_supportAutoRotation “将参数修改为”false”,保存退出,如下图。修改好后,运行一键编译脚本”./build_android.sh”,如下图。源码编译完成后,将 Android 镜像烧写至开发板,拔掉 otg 线,重新启动开发板。系统默认是横屏显示,并没有自动旋转功能。如下图。10.9.2.4.2 竖屏显示在上一小节的基础上,进行下面操作。如下图,在 Android 源码目录下输入命令“vi frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java ”,如下图。在里面使用”/Surface.ROTATION”,在 5478 行,将参数修改为如下图。修改好后,运行一键编译脚本”./build_android.sh”,如下图。源码编译完成后,将 Android 镜像烧写至开发板,拔掉 otg 线,重新启动开发板。则该系统支持竖屏显示,并不能自动旋转屏幕。如下图。注意,按照上面修改的话,uboot 和内核的 logo 方向是不变的。默认横屏。