編輯:關於android開發
android SDK中有些JAVA類是開放的,有些是不開放的,API同樣如此。這裡所謂開放的類或API,只是javadoc的范疇,並不是java中public和private,也就是說,對於源碼的編譯無所謂,只是對javadoc的生成有影響關於類的開放和隱藏,但是對android的上層應用有影響,因為非開放的類或API,android上層應用無法直接訪問。
類或API是否開放,是通過doc的注釋{@hide}來控制的。比如android.media.Metadata 這個類就是android沒有公開的類,因為在frameworks\base\media\libmedia\Metadata.java文件中,定義Metadata類之前有/**{@hide}*/此doc注釋,所以Metadata類被定義為了非公開類,即是在android應用程序中無法直接訪問的類。
但是如果我們在Android的公開類中添加了一些自定義的成員方法或成員變量,生成我們修改後的sdk(jar包)供上層應用程序使用,此時在編譯源碼生成SDK的過程中會出現這個問題:
******************************
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
但是如果修改的是google沒有開放出來的類,比如RIL,PhoneFactory,就不會出現這個問題,
Android 手機衛士1--實現splash頁面,androidsplash 1.minSdkVersion、targetSdkVersion、maxSdkVersio
通過jni調用OpenCv跟直接調用android版openCv對圖片進行簡單的變換 看看效果圖,如果運行時提示需要安裝xxxx.mamager,那麼就去現在Opencv
仿QQ圖片選擇器--Android, 當做一款APP,需要選擇本地圖片時,首先考慮的無疑是系統相冊,但是Android手機五花八門,再者手機像素的
Android消息機制入門,android機制入門接著處理《Android 網絡圖片查看器》中出現的問題 使用添加子線程,修改原程序: package com.wuyu