在android11系统中,在编译过程中是如何实现把frameworks/base/data/keyboards/Generic.kl放到系统system/usr/keylayout/Generic.kl的
时间: 2023-07-05 14:33:36 浏览: 141
Android中默认系统的声音/大小修改和配置详解
在 Android 11 系统中,将 `frameworks/base/data/keyboards/Generic.kl` 文件放到系统 `system/usr/keylayout/Generic.kl` 的过程可以通过以下步骤实现:
1. 在 Android 源代码根目录下执行 `lunch` 命令选择目标设备和编译类型。
2. 进入 `frameworks/base` 目录,执行 `mm` 命令编译 `frameworks/base` 模块。
3. 在 `out/target/product/<device>/system/usr/keylayout/` 目录下创建 `Android.mk` 文件,并在其中添加以下内容:
```
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Generic.kl
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT)/usr/keylayout
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
```
这个 `Android.mk` 文件的作用是告诉编译系统如何将 `Generic.kl` 文件放到系统的 `/system/usr/keylayout/` 目录下。
4. 将 `Generic.kl` 文件复制到 `out/target/product/<device>/system/usr/keylayout/` 目录下。
5. 再次执行 `mm` 命令进行编译。在编译过程中,编译系统会按照 `Android.mk` 中的配置把 `Generic.kl` 文件拷贝到系统的 `/system/usr/keylayout/` 目录下。
阅读全文