【问题标题】:Android Kernel modifyingAndroid内核修改
【发布时间】:2018-05-28 13:42:17
【问题描述】:

我是一名 Android 应用程序开发人员。由于某些原因,我应该稍微更改一下 Android 内核。但我对内核一无所知。如果有人向我介绍一个解释 android 内核模块和其他相关信息的网站,我将不胜感激。

【问题讨论】:

    标签: android android-source


    【解决方案1】:

    在标准的 Android 开源分发中,内核作为预构建二进制文件分发在 mydroid/prebuilt/android-arm/kernel 文件夹中,并且不包含源代码。我认为内核源代码已从默认清单中删除,原因有两个。一个是大多数人不会使用的平台组件需要大量带宽和磁盘空间。另一个原因是,由于内核是使用内核构建系统构建的,而不是作为 aosp 构建系统的一部分,因此将其分开是有意义的。内核的公共分支是模拟器使用的分支。还有experimental、msm(Qualcomm 平台)和Omap(TI 平台)等分支。如果您想将 Android 内核与硬件一起使用,您可能会更感兴趣。

    • 通过将 Android 内核添加到您的存储库清单或通过运行手动获取 Android 内核: git clone git://android.git.kernel.org/kernel/common.git

    • 以这种方式构建的内核最终应该位于内核树的 arch/arm/boot 文件夹中(您将来自 git clone 的代码放置在该文件夹中)

    • 请注意,我在上述说明中使用了默认路径,您需要将它们更改为适用于您的设置的路径。自从我上次测试以来已经有一段时间了,但我认为它应该可以工作。

    浏览以下网站,它们也会给你一些想法。

    Android PortingAndroid PlatformAndroid-Pdk

    Android porting in real target, Build-compile-linux-kernel-android

    我想,既然您在谈论内核编程,那么您也在寻找将新硬件与平台连接起来并使用您的框架扩展向应用程序公开该功能的方法。硬件基本上是作为标准 Linux 驱动程序添加的,所以让它在 Linux 下工作是一个很好的第一步。之后如何将其挂接到 Android 框架中取决于它是什么类型的硬件。您可以使用本机进程来控制它(比较当前平台中的摄像头服务或无线电守护程序),或者只是在使用您的框架扩展的应用程序中生成一个线程。对于不需要太多注意力的硬件,也可以选择使用 Android HAL 库插入它

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 2015-07-22
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多