歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android修改開放類方法

Android修改開放類方法

日期:2017/3/1 9:58:59   编辑:Linux編程

當我們修改了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的問題,而這個問題是我們以後常常遇到的。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved