加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 教程 > 正文

Android修改开放类技巧

发布时间:2021-12-13 16:42:28 所属栏目:教程 来源:互联网
导读:背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认阅读新闻 Android修改开放类方法 [日期:2013-04-10] 来源:Linux社区 作者:love_xiaozhao [字体:大 中 小] 当我们修改了google 开放出来的类。所谓开放的类与开放的API,这个只是java

背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认阅读新闻
Android修改开放类方法
[日期:2013-04-10] 来源:Linux社区  作者:love_xiaozhao [字体:大 中 小]
当我们修改了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
 
To submit the revised current.xml to the main Android repository,
 
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的问题,而这个问题是我们以后常常遇到的。

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读