关于修改frameworks的源码遇到的一点问题以及解决方法
来源:互联网 发布:判断链表有环java 编辑:程序博客网 时间:2024/05/16 06:43
关于修改frameworks的源码遇到的一点问题以及解决方法
这两天由于项目需要,更改了Notification的源码,结果在Linux上make时出现例如下面提示:Checking API: checkapi-current
(unknown): error 5: Added public field android.app.Notification.mContent
******************************
You have tried to change the API from what has been previously approved.
To make these errors go away, you have two choices:
1) You can add "@hide" javadoc comments to the methods, etc. listed in the
errors above.
2) You can update current.xml by executing the following command:
make update-api
To submit the revised current.xml to the main Android repository,
you will need approval.
******************************
之后查了下,发现原因是:
google对于所有的类和API,分为开放式和不开放式两种。所谓的开放式就是值javadoc所包含的,并不是java中有public和private,而是跟javadoc有关系,代码没有关系。
而我这次的错误提示是因为在开放式的类中增加了一个变量,而又没隐藏,导致和原API的doc不一致造成的。
通过提示,有2个方法可以解决该问题:
1、将新增加的变量或方法加上"@hide" 的注释,注意一点,加"@hide" 不是简简单单的/*@hide */就行了,标准的javadoc要这样 /** */ 而且对于 format 变量 应该加上 { },也就是/**{@hide}*/
2、如果想在生成的doc中增加该变量或方法的话,必须输入:
make update-api
这样的话,系统自动将新增加的API添加到current.xml中了。
不过我用的是第一种方法,第二种我没有试验过,关键编译一次时间太长了。。。
希望通过本次说明,能让各位和我一样修改frameworks的兄弟有所帮助。
本文转载至: http://www.eoeandroid.com/thread-16096-1-5.html
- 关于修改frameworks的源码遇到的一点问题以及解决方法
- 关于修改frameworks的源码遇到的一点问题以及解决方法
- 关于Python2的一点想法以及遇到的问题
- 关于ArrayList使用时常遇到的问题以及解决方法
- 学习中遇到的问题以及解决方法
- 记录遇到的问题以及解决方法
- 总结今天遇到的问题以及解决方法
- 项目开发遇到的问题以及解决方法
- ebuy遇到的问题以及解决方法
- 学习Mysql遇到的问题以及解决方法
- UITextField遇到的一些问题以及解决方法
- Debian 8.5 遇到的问题以及解决方法
- .Net遇到的问题以及解决方法
- .Net遇到的问题以及解决方法
- (QT)QT遇到的问题以及解决方法
- 安装Paramiko遇到的问题以及解决方法
- Https 调用遇到的问题以及解决方法
- AsycTask源码解读以及遇到的问题
- LinkedBlockingQueue和ConcurrentLinkedQueue详细用法
- 匈牙利算法
- 如何在java eclipse中引入外部软件包
- 根据日志内容分析函数调用堆栈(function stack)
- The future is High-Level Synthesis
- 关于修改frameworks的源码遇到的一点问题以及解决方法
- 关于Android隐式启动Activity(2)
- 浅谈C/C++内存泄露及其检测工具
- 将存储过程写入C#中 有需要时则动态插入到数据库 免得麻烦
- byte 与16进制字符串转换
- Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案
- (转)android底部菜单应用
- mysql表损坏的现象和解决方法
- ubuntu 窗口不能移动