Android的内核修改内核、Android

2023-09-06 13:27:55 作者:靑橙°

我是一个Android应用程序开发人员。出于某些原因,我应该改变了Android内核一点。但我不知道内核什么。我会pciated,如果有人给我介绍了一个网站谁解释的Andr​​oid内核模块和有关它的其他信息AP $ P $。

I'm a Android application developer. For some reasons, I should change the Android kernel a bit. But I don't know anything about kernel. I will be appreciated if someone introduce me a website who explain android kernel modules and other info about it.

推荐答案

在标准Android开源分发内核分布作为mydroid / prebuilt一个pre的二进制/机器人臂/内核文件夹和源$ C ​​$ C不包括在内。内核源代码被从默认的清单中删除的原因有两个,因为我需要它。其中之一是,它需要大量的带宽和磁盘空间的一个平台组件,大多数人不会有太多工作。另一个原因是,由于内核是建立与内核构建系统,而不是作为AOSP构建系统的一部分,它是有道理的,以保持它分开。常见的分支内核仿真器使用的一个。也有实验,MSM(高通平台)与OMAP(德州仪器平台),也许一些更多的分支机构。如果你想使用Android内核的硬件,这些可能更有趣的你。

In the standard Android open source distribution the kernel is distributed as a pre-built binary in the mydroid/prebuilt/android-arm/kernel folder and the source code is not included. The kernel source was removed from the default manifest for two reasons as I take it. One is that it takes a lot of bandwith and diskspace for a platform component that most people will not work with much. The other reason is that since the kernel is built with the kernel build system and not as part of the aosp build system it makes sense to keep it separated. The common branch for the kernel is the one used by the emulator. There are also branches for experimental, msm (Qualcomm platforms) and Omap (TI platform) and maybe some more. If you want to use the Android kernel with hardware these may be more interesting to you.

获取Android内核或者通过将它添加到您的回购清单或手动运行: 混帐克隆的git://android.git.kernel.org/kernel/common.git

Get the Android kernel either by adding it to your repo manifest or manually by running: git clone git://android.git.kernel.org/kernel/common.git

建立内核这种方式应该结束了在弓/ ARM /启动你的内核树的文件夹(你把code从混帐克隆)

The kernel built this way should end up in the arch/arm/boot folder of your kernel tree (where you put the code from git clone)

穿过下面的网站也将要给你一些想法。

Go through the following sites which will also give u some ideas.

的Andr​​oid移植,的 Android平台, Android的PDK ,

Android的移植在真正的目标,Build-compile-linux-kernel-android

我想,既然你在谈论内核编程,你也想办法连上新的硬件平台和使用框架的扩展应用程序公开该功能。硬件基本上是添加为一个标准的Linux驱动程序,以便得到它在Linux下工作,是一个良好的开端。如何把它挂到了Android框架之后,这取决于它是什么类型的硬件。您既可以使用本机的过程来控制它(在目前的平台上比较相机服务或无线电守护进程),或只是产生一个线程在使用你的框架扩展的应用程序。对于硬件不需要那么多的关注插上在使用机器人的HAL库也可以是一种选择

I guess that since you are talking about kernel programming you are also looking for ways to hook up new hardware with the platform and expose that functionality using your framework extensions to the applications. Hardware is basically added as a standard Linux driver so getting it to work under Linux is a good first step. How to hook it into the Android framework after that depends on what type of hardware it is. You could either use a native process to control it (compare the camera service or radio daemon in the current platform) or just spawn a thread in the application that uses your framework extension. For hardware that does not require that much attention plugging it in using an Android HAL library could also be an option