设为首页 加入收藏

TOP

Android修改开放类方法
2014-11-24 07:43:32 来源: 作者: 【 】 浏览:0
Tags:Android 修改 开放 方法

当我们修改了google 开放出来的类。所谓开放的类与开放的API,这个只是javadoc的范畴,并不是java中public和private,也就是说,对于源码的编译无所谓,只是对javadoc的生成有影响关于类的开放和隐藏,是通过doc的注释{@hide}来控制的。比如 Environment 这个类,我们新增了几个成员方法,编译的时候就会出现如下的错误:


******************************


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


you will need approval.


******************************


但是如果修改的是google没有开放出来的类,比如RIL,PhoneFactory,就不会出现这个问题。


google 给了两个选择:


1. 在你添加的API或者变量前面,增加javadoc 注释@hide。但是要注意的是,并不是简单写个@hide 或者 就可以了,这些都是错误的javadoc注释格式,标准的javadoc都是这样的 而且对于 format 变量 应该加上 { },所以我们应该这样写


2. 你就是想要生成的javadoc里面出现这个方法或者变量,你必须输入: make update-api,即编译时,输入make update-api PRODUCT-***-eng,但是输入 make PRODUCT-***-eng update-api 这样是有问题的,因为后面的update-api会被忽略掉,这样系统就会自动的把我们新增的API 写入 frameworks/base/api/current.xml 文件中。


以上两个方案可以很好的解决新增API的问题,而这个问题是我们以后常常遇到的。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++ STL next_permutation的实现.. 下一篇Android中通过当前经纬度获得城市

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)