当我们修改了google 开放出来的类。所谓开放的类与开放的API,这个只是
javadoc的范畴,并不是java中public和private,也就是说,对于源码的编译无所
谓,只是对javadoc的生成有影响
关于类的开放和隐藏,是通过doc的注释{@hide}来控制的
比如 TelephonyManager 这个类,我们新增了几个成员变量,编译的时候就会出现
如下的错误, 但是如果修改的是google没有开放出来的类,比如RIL,
PhoneFactory,就不会出现这个问题,
******************************
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 commands:
p4 edit frameworks/base/api/current.xml
make update-api
To check in the revised current.xml, you will need OWNERS
approval.
******************************
google 给了两个选择:
1. 在你添加的API或者变量前面,增加javadoc 注释@hide。但是要注意的是,并
不是简单写个@hide 或者 /*@hide*/ 就可以了,这些都是错误的javadoc注释格
式,标准的javadoc都是这样的 /** */ 而且对于 format 变量 应该加上 { }
所以我们应该这样写 /** {@hide} */
2. 你就是想要生成的javadoc里面出现这个方法或者变量,你必须输入:
make update-api
增对我们这个编译配置,必须输入
make update-api PRODUCT-simu-eng
至于为什么昨天晚上我们输入没有效果,是因为我们输入的是
make PRODUCT-simu-eng update-api 这样是后面的update-api会被忽略掉
这样就会系统就会自动的把我们新增的API 写入 current.xml文件中
以上两个方案可以很好的解决新增API的问题,而这个问题是我们以后常常遇到的
另外,前期的开发阶段,当我们用mm命令编译单个模块的时候,并不想生成
offline-sdk,可以通过修改
build/core/config.mk 注释掉这一行
#BUILD_DROIDDOC:= $(BUILD_SYSTEM)/droiddoc.mk
但是这个只是临时解决方案,我们还是要找到为什么三星这个版本用mm编译的时候
要生成offline-sdk,而标准的版本没有这个问题
javadoc的范畴,并不是java中public和private,也就是说,对于源码的编译无所
谓,只是对javadoc的生成有影响
关于类的开放和隐藏,是通过doc的注释{@hide}来控制的
比如 TelephonyManager 这个类,我们新增了几个成员变量,编译的时候就会出现
如下的错误, 但是如果修改的是google没有开放出来的类,比如RIL,
PhoneFactory,就不会出现这个问题,
******************************
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 commands:
p4 edit frameworks/base/api/current.xml
make update-api
To check in the revised current.xml, you will need OWNERS
approval.
******************************
google 给了两个选择:
1. 在你添加的API或者变量前面,增加javadoc 注释@hide。但是要注意的是,并
不是简单写个@hide 或者 /*@hide*/ 就可以了,这些都是错误的javadoc注释格
式,标准的javadoc都是这样的 /** */ 而且对于 format 变量 应该加上 { }
所以我们应该这样写 /** {@hide} */
2. 你就是想要生成的javadoc里面出现这个方法或者变量,你必须输入:
make update-api
增对我们这个编译配置,必须输入
make update-api PRODUCT-simu-eng
至于为什么昨天晚上我们输入没有效果,是因为我们输入的是
make PRODUCT-simu-eng update-api 这样是后面的update-api会被忽略掉
这样就会系统就会自动的把我们新增的API 写入 current.xml文件中
以上两个方案可以很好的解决新增API的问题,而这个问题是我们以后常常遇到的
另外,前期的开发阶段,当我们用mm命令编译单个模块的时候,并不想生成
offline-sdk,可以通过修改
build/core/config.mk 注释掉这一行
#BUILD_DROIDDOC:= $(BUILD_SYSTEM)/droiddoc.mk
但是这个只是临时解决方案,我们还是要找到为什么三星这个版本用mm编译的时候
要生成offline-sdk,而标准的版本没有这个问题