当前位置: 首页 > news >正文

Android4.4 在系统中添加自己的System Service

添加系统service时,源码限制只能添加以android开头的包名,如果不是android开头的,编译时会提示找不到对应的文件。
比如说在系统中添加一个包名为:tel.gateway.connservice的系统服务。
1.在framework/base目录下面创建如下路径:tianyi/java/tel/gateway/connservice/。在这个目录中添加对用的aidl和service。
2.在framework/base/android.mk中的LOCAL_SRC_FILES添加对应的aidl。
3.在framework/base/android.mk中找到LOCAL_SRC_FILES,并且添加tel/*,否则编译时会提示找不到添加的java文件或者aidl文件
4.在SystemService.java中注册对应的Service。此时编译之后系统里面已经有了添加的系统service了,但是上层apk还不能调用。
5.在framework/base/core/java/android/app/ContextImpl.java注册服务代理。也就是上层apk通过Context.getSystemService函数获取的代理。
6.开发上层apk时需要替换原生sdk中的android.jar。需要在build/core/pathmap.mk中找到FRAMEWORKS_BASE_SUBDIRS将tianyi添加上。系统编译时会将自动扩展成tianyi/java,并且将包tel/gateway/connservice打包进android.jar中。
7.生成的可以换android.jar路径为:out/target/product/p201_iptv/obj/JAVA_LIBRARIES/framework_intermediates/javalib.jar
解压查看内容如下:在这里插入图片描述

http://www.lryc.cn/news/507136.html

相关文章:

  • 【C++】C++实现字符串大小写转换功能
  • 【蓝桥杯】43696.小数第n位
  • 进程间通信方式---消息队列(System V IPC)
  • windows10 安装wsl、迁移到其他盘
  • el-divide(vue3总)
  • python —— 常用命令行的命令
  • C++ 23版的最新特性
  • 什么是 Memory-bound stalls,以及如何优化
  • 机器学习 | 非线性回归拟合数据时的离群值检测
  • 使用elasticsearch-head插件修改elasticsearch数据
  • 202412月最新植物大战僵尸杂交版【V3.0.1】更新内容与下载
  • 游戏渠道假量解决方案
  • Java系统对接企业微信审批项目流程
  • 基于Springboot人口老龄化社区服务与管理平台【附源码】
  • Dot Foods EDI 需求分析及对接流程
  • 代码随想录day24 | leetcode 93.复原IP地址 90.子集 90.子集II
  • 探索国产数字隔离器——测试与应用
  • IDEA无法打开插件市场的解决
  • 以腾讯混元模型为例,在管理平台上集成一个智能助手
  • 15.初识接口1 C#
  • 探索 Python编程 调试案例:计算小程序中修复偶数的bug
  • 【Unity/HFSM】使用UnityHFSM实现输入缓冲(预输入)和打断机制
  • Unity 圆形循环复用滚动列表
  • 聚水潭数据无缝集成到金蝶云星空的实现方案
  • 虚拟机断网没有网络,需清理内存,删除后再重启
  • [c++11(二)]Lambda表达式和Function包装器及bind函数
  • 基于字节大模型的论文翻译(含免费源码)
  • Mysql语法之DQL查询的多行函数
  • OpenSSL 心脏滴血漏洞(CVE-2014-0160)
  • 监控视频汇聚融合云平台一站式解决视频资源管理痛点