![d2bcad88ba91977d24d5104e8f6c8b66.png](https://i-blog.csdnimg.cn/blog_migrate/cafcafc707563bd1ace97cf8ecfdc02f.jpeg)
作者:麻锦荣
前言
相信很多工作几年的Android程序员对Android的API都比较熟,调用起来也毫不含糊,实在不常用的类查一下API文档也能轻松搞定。
第一次看我文章的小伙伴可以关注一下我,顺便关注一下我的专栏:Android高级开发专栏 ,每天更新各种技术干货,分享更多最热程序员圈内事。Android高级技术专栏zhuanlan.zhihu.com
![13d37cc370dc008d1ebcb8481be696de.png](https://i-blog.csdnimg.cn/blog_migrate/248167b42949588c025e8395894fddb5.jpeg)
但是你们有没有遇到过这样的问题,客户或者老板提了一个需求,而Android自己的API是不支持这个功能的?我就遇到过这样的问题,商显设备为了省电节约成本, 会在半夜没人的时候自己关机,到了早上6点又自启,然而Andorid系统从断电到自启是需要底层适配的,再或者就是要同步板子上的RTC时钟(硬件时钟,类似于电脑主板上关机后依然记录时间的一个模块)的时间
这一类问题,都是要先修改Android源码做到底层适配,然后导入自编译framework.jar包才能得以实现的,下面以同步RTC时钟为例:
![f4c219c77bac0a95f1f70b91f57e7a86.png](https://i-blog.csdnimg.cn/blog_migrate/f7eb19bca5c3e747442af57b307c9c5e.jpeg)
开始
可以看到我们在frameworks下做了一些改动,通过新增jni调用底层的一些cpp中的方法,然后在AlarmManager.java类中新增定义,封装自己的setRtcTime方法。