Why some classes/methods aren’t presented in SDK and DroidDoc…

…but are presented in plain javadoc? As I understand from source the main reason of disappearance is “@hide” tag in javadoc, for example, inner class android.media.MediaRecorder.VideoSource has follow definition in source:

/**
 * Defines the video source. These constants are used with
 * {@link MediaRecorder#setVideoSource(int)}.
 * @hide
 */
public final class VideoSource {
  /* Do not change these values without updating their counterparts
   * in include/media/mediarecorder.h!
   */
    private VideoSource() {}
    public static final int DEFAULT = 0;
    /** Camera video source */
    public static final int CAMERA = 1;
}

Suppose the DroidDoc doclet hides such members opposite standard javadoc tool. Furthermore, the compiler somehow does ignore such members too. I don’t know how this exactly done but this shouldn’t be mystery because the all build files are available. If I rapidly and fully understand the underlying build code then I share knowledge here.

The another question is “why some code has been hided?” My opinion code temporarily hidden until API finally approval. It’s usual practice in fast-growing platforms.


Posted under Issues by Sergei Goorov on April 2, 2009

Android 1.1 SDK r1

The new Android 1.1 SDK r1 has been released and javadoc of this version is present as downloadable single zip file and here as html package.


Posted under Announcement by Sergei Goorov on March 25, 2009

Updated DroidDoc from Android team

If you see new Android 1.1 SDK then you can see a new appearance of reference documentation. At long last the left frame has been added, and you can use the tree navigation or panel navigation there. All other, as I see, are without changes, and still there is no “use” functionality in this documentation. And probably this is a place where old plain “blue-white” javadoc is a rival of Android team’s documentation.


Posted under Announcement by Sergei Goorov on February 10, 2009

Poll: Remove oldest Javadocs

There are three oldest javadoc builds in the site, m3-rc37a, m5-rc15 and 0.9_beta. How much are they demanded now? Can they be painless removed or to the contrary should to add relevant info to them? Or something else? Put your opinions here in comments.


Posted under Announcement by Sergei Goorov on December 5, 2008

JavaDoc building process

Couple of worlds about javadoc building process if you suddenly want to make plain javadoc from source. All javadoc stuff is concentrated in the ROOT/build/core/droiddoc.mk. Find javadoc call in it and change options set so that to exclude droiddoc custom doclet, i.e. from

javadoc \
    \@$(PRIVATE_SRC_LIST_FILE) \
    -J-Xmx768m \
    -J-Djava.library.path=$(HOST_OUT_SHARED_LIBRARIES) \
    $(PRIVATE_PROFILING_OPTIONS) \
    -quiet \
    -doclet DroidDoc \
    -docletpath $(PRIVATE_DOCLETPATH) \
    -templatedir $(PRIVATE_CUSTOM_TEMPLATE_DIR) \
    -templatedir $(PRIVATE_TEMPLATE_DIR) \
    $(PRIVATE_DROIDDOC_HTML_DIR) \
    $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
    -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
    -d $(PRIVATE_OUT_DIR) \
    $(PRIVATE_CURRENT_BUILD) $(PRIVATE_CURRENT_TIME) \
    $(PRIVATE_DROIDDOC_OPTIONS) \

to something like this

javadoc \
    \@$(PRIVATE_SRC_LIST_FILE) \
    -J-Xmx768m \
    -J-Djava.library.path=$(HOST_OUT_SHARED_LIBRARIES) \
    $(PRIVATE_PROFILING_OPTIONS) \
    -overview ~/mydroid/frameworks/base/core/java/overview.html \
    -splitindex \
    -use \
    -package \
    $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
    -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
    -d $(PRIVATE_OUT_DIR) \

and run Android building. The such javadoc execution ends with 6938 warnings. They include unknown tags, errors and mistakes in source comments and droiddoc doclet orientation issues. The especial attention is need to turn to the @hide tag which standard doclet can’t interpret and which hides non-SDK source and thus this code shouldn’t be used in applications. My conclusion is the standard doclet must be extended to support all Android source features and to get valuable documentation.


Posted under How-to, Issues by Sergei Goorov on November 5, 2008

First try to build javadoc from source

As everybody knows Google has open sourced Android. And here is a result of building javadoc from source. The -package and -use options were used. My comments about specific features will be later.


Posted under Announcement by Sergei Goorov on November 3, 2008

Some issues

There are some issues in the exposed here javadoc. The one is in the builds m3-rc37a, m5-rc15 and 0.9_beta non public constructors of some classes are public. This is my neglect. The next issues relate to impossibility to easy resolve @link and @see tags which refer to generic methods and xml-attributes. And biggest issue is that some methods’ parameters in real code and in the Google docs have different names. Thus, sources which have been used for creating docs and for building android.jar are different! That’s not good. And true way for me to resolve all these issues is building javadoc from source. Wait when Android will be open sourced.


Posted under Issues by Sergei Goorov on October 21, 2008

From scratch

This site with Android javadoc is exists about nine months, but only now it takes a distinct form. Couple words about how I make the javadoc - it’s result of matching Google Android documentation and generated code which is an Android API definition. Moreover, I include into documentation only real classes, fields and methods from “android.jar”. As result currently you can see javadoc of four Android builds.


Posted under Announcement by Sergei Goorov on October 19, 2008