Android源码开发记录-自定义系统服务和jar包生成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android源码开发记录-自定义系统服务和jar包生成相关的知识,希望对你有一定的参考价值。

参考技术A 创建文件 IMyApiService
文件路径 frameworks/base/core/java/android/os/

定义了一个计算和的方法。

在frameworks/base/Android.mk
LOCAL_SRC_FILES最后加入

创建文件 MyApiService.java
文件路径 frameworks/base/core/java/com/android/server/

实现aidl的接口,计算参数和。

(1)Context添加服务名
文件路径 frameworks/base/core/java/android/content/Context.java
添加

(2)添加启动服务
文件路径 frameworks/base/services/java/com/android/server/SystemServer.java
在startOtherServices方法中添加

创建 MyApiManager.java文件
文件路径 frameworks/base/core/java/android/app/

文件路径 frameworks/base/core/java/android/app/ContextImpl
添加registerService

记住make update-api
编译打包完成后,烧写新的固件。

jar主要为了在android studio编译环境中MyApiManager报错导致编译不通过问题。
也可以导入frameworks jar包或使用反射。

在源码目录packages/app下新建MyJar文件夹
并新建目录com/myapi/(包名)

在目录com/myapi/新建文件MyApi.java

具体Android.mk语法这里不做解释,可以自行查阅

在MyApi目录下直接运行mm编译命令(记得先source build/envsetup.sh)
待编译完成后,jar生成目录
out/target/common/obj/JAVA_LIBRARIES/Myapi_intermediates/javalib.jar
可更改为其他名称。

Android: 自己开发应用,里边想自定义输入法键盘布局,但输入法服务仍然用系统输入法服务,应该怎么做?

Android: 自己开发一个应用,里边想自定义输入法键盘布局,但输入法服务仍然用系统输入法服务,应该怎么做?

有个“多多中文”网,里面有输入法生成器平台,免费下载,可以满足你提出的这些要求 参考技术A 要么自定义一个键盘,将输入框设定不弹出系统默认的键盘。追问

我只想自定义布局,按键功能和系统键盘完全一致,没必要再自己重写吧?

以上是关于Android源码开发记录-自定义系统服务和jar包生成的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ③ ( 配置上传工件 | 将 Gradle 插件 jar 包源码文档上传到本地Maven 仓库 )

Android: 自己开发应用,里边想自定义输入法键盘布局,但输入法服务仍然用系统输入法服务,应该怎么做?

android的toast怎么自定义显示时间长度?

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ① ( Maven 仓库上传源码上传源码设置 | 自定义源码打包任务 | 自定义文档打包任务 )

Android 系统签名

Classloader、插件化开发(结合Presto)