AI 144164: Adding droiddocs/javadocs usage to Pdk-docs to get correct style.
BUG=1646802
Automated import of CL 144164
diff --git a/pdk/Pdk.mk b/pdk/Pdk.mk
index abe9491..fbe8b5c 100644
--- a/pdk/Pdk.mk
+++ b/pdk/Pdk.mk
@@ -16,7 +16,7 @@
# Assemble the Platform Development Kit (PDK)
# (TODO) Figure out why $(ACP) builds with target ndk but not pdk_docs
-# (TODO) Build doxygen (depend on latest version)
+# (TODO) Build doxygen (depend on latest version) -> line 25 </div> error
pdk:
@echo "Package: $@ has targets ndk, pdk_docs and pdk_all"
@@ -38,6 +38,8 @@
# Doxygenize the header files to create html docs in the generatedDocs dir.
# Copy the appengine files, the template files and the generated html
# to the docs dir and zip everything up to the distribution directory.
+# Run javadocs/droiddocs/clearsilver on the generatedDocs dir to get the right
+# styles added to the html.
# Workspace directory
@@ -149,13 +151,27 @@
@echo "PDK: $@"
$(copy-file-to-target-with-cp)
+# Copy appengine server files for new system
+$(OUT_DOCS)/app.yaml: $(pdk_hosting_dir)/app.yaml
+ @echo "PDK: $@"
+ $(copy-file-to-target-with-cp)
+
+$(OUT_DOCS)/pdk.py: $(pdk_hosting_dir)/pdk.py
+ @echo "PDK: $@"
+ $(copy-file-to-target-with-cp)
+
+# All the files that we depend upon
+all_pdk_docs_files := $(pdk_doxygen_config_override_file) \
+ $(pdk_doxygen_config_file) $(pdk_docs_intermediates)/header.html \
+ $(pdk_docs_intermediates)/footer.html $(pdk_doxy_docsfiles_dir)/groups.dox \
+ $(pdk_doxy_docsfiles_dir)/main.dox all_copied_pdk_templates
# Run doxygen and copy all output and templates to the final destination
# We replace index.html with a template file so don't use the generated one
pdk_doxygen: all_copied_pdk_headers $(pdk_doxygen_config_override_file) \
$(pdk_doxygen_config_file) $(pdk_docs_intermediates)/header.html \
$(pdk_docs_intermediates)/footer.html $(pdk_doxy_docsfiles_dir)/groups.dox \
- $(pdk_doxy_docsfiles_dir)/main.dox
+ $(pdk_doxy_docsfiles_dir)/main.dox
@echo "Files for Doxygination: $^"
@mkdir -p $(pdk_generated_source_dir)
@rm -f $(pdk_generated_source_dir)/*
@@ -164,7 +180,40 @@
@cd $(pdk_generated_source_dir) && chmod ug+rx *
@rm -f $(pdk_generated_source_dir)/index.html
@cp -fp $(pdk_generated_source_dir)/* $(pdk_docs_dest_dir)
-
+
+
+# ==== docs for the web (on the google app engine server) =======================
+# Run javadoc/droiddoc/clearsilver to get the formatting right
+
+# make droiddocs run after we make our doxygen docs
+$(pdk_docs_intermediates)/pdk-timestamp: pdk_doxygen
+ @touch $(pdk_docs_intermediates)/pdk-timestamp
+
+$(LOCAL_PATH)/pdk-timestamp: $(pdk_docs_intermediates)/pdk-timestamp
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := pdk-timestamp samples/samplejni/src/com/example/jniexample/JNIExample.java
+LOCAL_MODULE_CLASS := development/pdk/ndk/samples/samplejni/src/com/example/jniexample
+LOCAL_DROIDDOC_SOURCE_PATH := $(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_DROIDDOC_HTML_DIR := ../../../$(pdk_docs_dest_dir)
+
+LOCAL_MODULE := online-pdk
+
+LOCAL_DROIDDOC_OPTIONS := \
+ $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ $(web_docs_sample_code_flags) \
+ -toroot /online-pdk/ \
+ -hdf android.whichdoc online-pdk
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := build/tools/droiddoc/templates-pdk
+LOCAL_DROIDDOC_CUSTOM_ASSET_DIR := assets-pdk
+
+include $(BUILD_DROIDDOC)
+
+# The docs output dir is: out/target/common/docs/online-pdk
+DOCS_OUT_DIR := $(OUT_DOCS)/$(LOCAL_MODULE)
+
# Name the tar files
name := android_pdk_docs-$(REQUESTED_PRODUCT)
ifeq ($(TARGET_BUILD_TYPE),debug)
@@ -173,21 +222,25 @@
name := $(name)-$(BUILD_NUMBER)
pdk_docs_tarfile := $(pdk_docs_intermediates)/$(name).tar
pdk_docs_tarfile_zipped := $(pdk_docs_tarfile).gz
+new_pdk_docs_tarfile := $(pdk_docs_intermediates)/new-$(name).tar
+new_pdk_docs_tarfile_zipped := $(new_pdk_docs_tarfile).gz
-.PHONY: pdk pdk_docs pdk_doxygen all_copied_pdk_headers all_copied_pdk_templates
+.PHONY: pdk pdk_docs pdk_doxygen all_copied_pdk_headers all_copied_pdk_templates pdk-timestamp
-pdk_docs: $(pdk_docs_tarfile_zipped)
+pdk_docs: $(pdk_docs_tarfile_zipped) $(new_pdk_docs_tarfile)
@echo "PDK: Docs tarred and zipped"
# Put the pdk_docs zip files in the distribution directory
$(call dist-for-goals,pdk_docs,$(pdk_docs_tarfile_zipped))
+$(call dist-for-goals,pdk_docs,$(new_pdk_docs_tarfile_zipped))
# zip up tar files
%.tar.gz: %.tar
- @echo "PDK: zipped $<"
+ @echo "PDK docs: zipped $<"
$(hide) gzip -cf $< > $@
# tar up all the files to make the pdk docs.
+# old version
$(pdk_docs_tarfile): pdk_doxygen all_copied_pdk_templates \
$(pdk_docs_intermediates)/pdk.py $(pdk_docs_intermediates)/app.yaml
@echo "PDK: $@"
@@ -195,6 +248,13 @@
@rm -f $@
$(hide) tar rf $@ -C $(pdk_docs_intermediates) docs pdk.py app.yaml
+# new version
+$(new_pdk_docs_tarfile): $(DOCS_OUT_DIR)-timestamp
+ @echo "PDK docs: $@"
+ @mkdir -p $(dir $@)
+ @rm -f $@
+ $(hide) tar rf $@ -C $(OUT_DOCS) $(LOCAL_MODULE)
+
# Debugging reporting can go here, add it as a target to get output.
pdk_debug:
@echo "You are here: $@"
diff --git a/pdk/README b/pdk/README
index 8662155..18ff5d1 100644
--- a/pdk/README
+++ b/pdk/README
@@ -4,78 +4,72 @@
(We currently support version 1.4.6)
sudo apt-get install doxygen
+
+Make sure that you are using the right version of java
+
+ sudo update-java-alternatives -s java-1.5.0-sun
+
+If that doesn't work, go through the instructions on
+
+ http://source.android.com/download again.
+
2) from the root
. build/envsetup.sh
-3) run choosecombo
- Build for the simulator or the device?
- 1. Device
- 2. Simulator
-
- Which would you like? [1] 1
-
-
- Build type choices are:
- 1. release
- 2. debug
-
- Which would you like? [1] 1
-
-
- Product choices are:
- 0. emulator
- 1. generic
- 2. sim
- 3. surf
- You can also type the name of a product if you know it.
- Which would you like? [generic] 1
-
-
- Variant choices are:
- 1. user
- 2. userdebug
- 3. eng
- Which would you like? [eng] 3
-
- ============================================
- TARGET_PRODUCT=generic
- TARGET_BUILD_VARIANT=eng
- TARGET_SIMULATOR=false
- TARGET_BUILD_TYPE=release
- TARGET_ARCH=arm
- HOST_ARCH=x86
- HOST_OS=linux
- HOST_BUILD_TYPE=release
- BUILD_ID=
- ============================================
4) mkdir dist
mkdir logs
- mkpdkcupcake.sh
+
+then build everything:
-(which contains:
+ time make -j4 pdk pdk_all dist DIST_DIR=dist 2>&1 | tee logs/`date +%y%m%d-%H%M%S`
-DT=`date +%y%m%d-%H%M%S`
-time make -j4 pdk pdk_all dist DIST_DIR=dist 2>&1 | tee logs/$DT
+so you can have a record of the build commands in the logs directory.
-so you can see the results of the build in the logs directory.)
5) the pdk tar file is put in the dist directory.
+6) the pdk-docs are in
+
+ out/target
+
The build target 'pdk' brings in the pdk/ndk make files into the build system.
- Then there are three targets:
- pdk_docs - which builds the pdk documentation
- ndk - which builds the native development kit (native compiler, linker, etc.)
- pdk_all - which builds the above two targets
+ Then there are three targets:
+ pdk_docs - which builds just the pdk documentation
+ ndk - which builds the native development kit (native compiler, linker, etc.)
+ pdk_all - which builds the above two targets
-for doxygen version changing you can pass in the variable:
-doxygen_version='<path/name_of_doxygen_executable>'
+To chnage which version of doxygen runs you can pass in the variable:
+ doxygen_version='<path/name_of_doxygen_executable>'
on the make line.
--------------------------------------------------------------------------------
-To host the pdk docs on appengine run:
-/home/build/static/projects/apphosting/devtools/appcfg.py update pdk/
-where the pdk directory contains: pdk.py, app.yaml, and the docs directory,
-all of which are tarred up by the Pdk.mk file when using the targer pdk_docs.
+# Testing
+You must install google appengine. See: http://code.google.com/appengine/downloads.html
+
+Here's the command to run the pdk-docs server locally:
+ python <path_to_appengine_installation>/dev_appserver.py --address 0.0.0.0 \
+ <path_to_cupcake_code>/android/out/target/common/docs/online-pdk
+
+To verify it is working you can access it with a browser loacally on port 8080:
+
+http://localhost:8080/index.html
+TODO: index.html needs correct links.
+TODO: app.yaml not working for redirecting, getting extra '.' in html names...
+
+ --------------------------------------------------------------------------------
+# Deployment
+To host the pdk docs on the interanl appengine run:
+/home/build/static/projects/apphosting/devtools/appcfg.py update <path_to_cupcake_src>/out/common/docs
+where the docs directory contains: pdk.py, app.yaml, and the online-pdk directory,
+all of which are tarred up by the Pdk.mk file when using the target pdk_docs.
+
+# Deployment
+To host the pdk docs on the external appengine run:
+/home/build/static/projects/apphosting/devtools/appcfg.py -s pdk-docs.appspot.com update <path_to_cupcake_src>/out/common/docs
+where the docs directory contains: pdk.py, app.yaml, and the online-pdk directory,
+all of which are tarred up by the Pdk.mk file when using the target pdk_docs.
+
+
diff --git a/pdk/docs/audio_sub_system.html b/pdk/docs/audio_sub_system.html
deleted file mode 100755
index 8639cf0..0000000
--- a/pdk/docs/audio_sub_system.html
+++ /dev/null
@@ -1,261 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20audio_sub_system.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidAudioSubSystemTitle"></a><h1>Audio</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidAudioSubSystemIntroduction">Introduction</a><br/>
-<a href="#androidAudioBuildingDriver">Building an Audio Library</a><br/>
-<a href="#androidAudioInterface">Interface</a><br/></div></font></div>
-
-<a name="androidAudioSubSystemIntroduction"></a><h2>Introduction</h2>
-
-<p>AudioHardwareInterface serves as the glue between proprietary audio drivers and the Android AudioFlinger service, the core audio service that handles all audio-related requests from applications.</p>
-<p><img src="android_audio_architecture.gif"></p>
-
-Solid elements represent Android blocks and dashed elements represent partner-specific blocks.
-
-
-
-<a name="androidAudioBuildingDriver"></a><h2>Building an Audio Library</h2>
-
-<p>To implement an audio driver, create a shared library that implements the interface defined in <code>AudioHardwareInterface.h</code>. You must name your shared library <code>libaudio.so</code> so that it will get loaded from <code>/system/lib</code> at runtime. Place libaudio sources and <code>Android.mk</code> in <code>partner/acme/chipset_or_board/libaudio/</code>.</p>
-<p>The following stub <code>Android.mk</code> file ensures that <code>libaudio</code> compiles and links to the appropriate libraries:</p>
-
-<pre class="prettify">
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libaudio
-
-LOCAL_SHARED_LIBRARIES := \
- libcutils \
- libutils \
- libmedia \
- libhardware
-
-LOCAL_SRC_FILES += MyAudioHardware.cpp
-
-LOCAL_CFLAGS +=
-
-LOCAL_C_INCLUDES +=
-
-LOCAL_STATIC_LIBRARIES += libaudiointerface
-
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-
-<a name="androidAudioInterface"></a><h2>Interface</h2>
-
-
-
-<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="audio_sub_system.html">click here</a>.</p>
-
-
-<iframe onLoad="resizeHeight();" src="AudioHardwareInterface_8h.html" scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/audio_sub_system.jd b/pdk/docs/audio_sub_system.jd
new file mode 100755
index 0000000..903032f
--- /dev/null
+++ b/pdk/docs/audio_sub_system.jd
@@ -0,0 +1,56 @@
+page.title=Audio
+pdk.version=1.0
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidAudioSubSystemIntroduction">Introduction</a><br/>
+<a href="#androidAudioBuildingDriver">Building an Audio Library</a><br/>
+<a href="#androidAudioInterface">Interface</a><br/></div></font></div>
+
+<a name="androidAudioSubSystemIntroduction"></a><h2>Introduction</h2>
+
+<p>AudioHardwareInterface serves as the glue between proprietary audio drivers and the Android AudioFlinger service, the core audio service that handles all audio-related requests from applications.</p>
+<p><img src="android_audio_architecture.gif"></p>
+
+Solid elements represent Android blocks and dashed elements represent partner-specific blocks.
+
+
+
+<a name="androidAudioBuildingDriver"></a><h2>Building an Audio Library</h2>
+
+<p>To implement an audio driver, create a shared library that implements the interface defined in <code>AudioHardwareInterface.h</code>. You must name your shared library <code>libaudio.so</code> so that it will get loaded from <code>/system/lib</code> at runtime. Place libaudio sources and <code>Android.mk</code> in <code>partner/acme/chipset_or_board/libaudio/</code>.</p>
+<p>The following stub <code>Android.mk</code> file ensures that <code>libaudio</code> compiles and links to the appropriate libraries:</p>
+
+<pre class="prettify">
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libaudio
+
+LOCAL_SHARED_LIBRARIES := \
+ libcutils \
+ libutils \
+ libmedia \
+ libhardware
+
+LOCAL_SRC_FILES += MyAudioHardware.cpp
+
+LOCAL_CFLAGS +=
+
+LOCAL_C_INCLUDES +=
+
+LOCAL_STATIC_LIBRARIES += libaudiointerface
+
+include $(BUILD_SHARED_LIBRARY)
+</pre>
+
+
+<a name="androidAudioInterface"></a><h2>Interface</h2>
+
+
+
+<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="audio_sub_system.html">click here</a>.</p>
+
+
+<iframe onLoad="resizeHeight();" src="_audio_hardware_interface_8h.html" scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
diff --git a/pdk/docs/bluetooth.html b/pdk/docs/bluetooth.html
deleted file mode 100755
index edd3c26..0000000
--- a/pdk/docs/bluetooth.html
+++ /dev/null
@@ -1,276 +0,0 @@
-
-<p><span class="lh2"><a name="androidHeader"></a></span>
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20bluetooth.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidBluetoothTitle"></a><h1>Bluetooth</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidBluetoothIntro">Introduction</a><br/>
-<a href="#androidBluetoothPorting">Porting</a><br/><div style="padding-left:40px">
-
-<a href="#androidBluetoothPortingDriver">UART Driver</a><br/>
-<a href="#androidBluetoothPortingPowerOnOff">Bluetooth Power On / Off</a><br/></div>
-<a href="#androidBluetoothTools">Tools</a><br/></div></font></div>
-
-<a name="androidBluetoothIntro"></a><h2>Introduction</h2>
-
-<p>Android's Bluetooth stack uses BlueZ version 3.36 for GAP, SDP, and RFCOMM profiles, and is a SIG-qualified Bluetooth 2.0 host stack.</p>
-
-<p>Bluez is GPL licensed, so the Android framework interacts with userspace bluez code through D-BUS IPC to avoid proprietary code.</p>
-
-<p>Headset and Handsfree (v1.5) profiles are implemented in the Android framework and are both tightly coupled with the Phone App. These profiles are also SIG qualified.</p>
-
-<p>The diagram below offers a library-oriented view of the Bluetooth stack. Click <a href="bluetooth_process.html">Bluetooth Process Diagram</a> for a process-oriented view.</p>
-
-<p><img src="androidBluetooth.gif"></p>
-
-Solid elements represent Android blocks and dashed elements represent partner-specific blocks.
-
-
-
-<a name="androidBluetoothPorting"></a><h2>Porting</h2>
-
-<p>BlueZ is Bluetooth 2.0 compatible and should work with any 2.0 chipset. There are two integration points:</p>
-<p><ul>
-<li>UART driver</li>
-<li>Bluetooth Power On / Off</li>
-</ul>
-</p>
-
-
-<a name="androidBluetoothPortingDriver"></a><h3>UART Driver</h3>
-
-<p>The BlueZ kernel sub-system attaches to your hardware-specific UART driver using the <code>hciattach</code> daemon.</p>
-<p>For example, for MSM7201A, this is <code>drivers/serial/msm_serial.c</code>. You may also need to edit command line options to <code>hciattach</code> via <code>init.rc</code>.</p>
-
-
-<a name="androidBluetoothPortingPowerOnOff"></a><h3>Bluetooth Power On / Off</h3>
-
-<p>The method for powering on and off your bluetooth chip varies from Android V 1.0 to post 1.0.</p>
-
-<p><ul>
-<li><b>1.0</b>: Android framework writes a 0 or 1 to <code>/sys/modules/board_[PLATFORM]/parameters/bluetooth_power_on</code>.</li>
-
-<li><b>Post 1.0</b>: Android framework uses the linux <code>rfkill</code> API. See <code>arch/arm/mach-msm/board-trout-rfkill.c</code> for an example.</li>
-</ul>
-</p>
-
-
-<a name="androidBluetoothTools"></a><h2>Tools</h2>
-
-<p>BlueZ provides a rich set of command line tools for debugging and interacting with the Bluetooth sub-system, including:</p>
-<p><ul>
-<li><code>hciconfig</code></li>
-<li><code>hcitool</code></li>
-<li><code>hcidump</code></li>
-<li><code>sdptool</code></li>
-<li><code>dbus-send</code></li>
-<li><code>dbus-monitor</code></li>
-</ul>
-</p>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/bluetooth.jd b/pdk/docs/bluetooth.jd
new file mode 100755
index 0000000..a21ad7d
--- /dev/null
+++ b/pdk/docs/bluetooth.jd
@@ -0,0 +1,82 @@
+page.title=Bluetooth
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+<a name="toc"/>
+
+<h2>In this document</h2>
+
+<ol>
+<li><a href="#androidBluetoothIntro">Introduction</a></li>
+<li><a href="#androidBluetoothPorting">Porting</a>
+ <ol>
+ <li><a href="#androidBluetoothPortingDriver">UART Driver</a></li>
+ <li><a href="#androidBluetoothPortingPowerOnOff">Bluetooth Power On / Off</a></li>
+ </ol>
+</li>
+<li><a href="#androidBluetoothTools">Tools</a></li>
+</ol>
+
+</div>
+</div>
+
+<a name="androidBluetoothIntro"></a><h2>Introduction</h2>
+
+<p>Android's Bluetooth stack uses BlueZ version 3.36 for GAP, SDP, and RFCOMM profiles, and is a SIG-qualified Bluetooth 2.0 host stack.</p>
+
+<p>Bluez is GPL licensed, so the Android framework interacts with userspace bluez code through D-BUS IPC to avoid proprietary code.</p>
+
+<p>Headset and Handsfree (v1.5) profiles are implemented in the Android framework and are both tightly coupled with the Phone App. These profiles are also SIG qualified.</p>
+
+<p>The diagram below offers a library-oriented view of the Bluetooth stack. Click <a href="bluetooth_process.html">Bluetooth Process Diagram</a> for a process-oriented view.</p>
+
+<p><img src="androidBluetooth.gif"></p>
+
+Solid elements represent Android blocks and dashed elements represent partner-specific blocks.
+
+
+
+<a name="androidBluetoothPorting"></a><h2>Porting</h2>
+
+<p>BlueZ is Bluetooth 2.0 compatible and should work with any 2.0 chipset. There are two integration points:</p>
+<p><ul>
+<li>UART driver</li>
+<li>Bluetooth Power On / Off</li>
+</ul>
+</p>
+
+
+<a name="androidBluetoothPortingDriver"></a><h3>UART Driver</h3>
+
+<p>The BlueZ kernel sub-system attaches to your hardware-specific UART driver using the <code>hciattach</code> daemon.</p>
+<p>For example, for MSM7201A, this is <code>drivers/serial/msm_serial.c</code>. You may also need to edit command line options to <code>hciattach</code> via <code>init.rc</code>.</p>
+
+
+<a name="androidBluetoothPortingPowerOnOff"></a><h3>Bluetooth Power On / Off</h3>
+
+<p>The method for powering on and off your bluetooth chip varies from Android V 1.0 to post 1.0.</p>
+
+<p><ul>
+<li><b>1.0</b>: Android framework writes a 0 or 1 to <code>/sys/modules/board_[PLATFORM]/parameters/bluetooth_power_on</code>.</li>
+
+<li><b>Post 1.0</b>: Android framework uses the linux <code>rfkill</code> API. See <code>arch/arm/mach-msm/board-trout-rfkill.c</code> for an example.</li>
+</ul>
+</p>
+
+
+<a name="androidBluetoothTools"></a><h2>Tools</h2>
+
+<p>BlueZ provides a rich set of command line tools for debugging and interacting with the Bluetooth sub-system, including:</p>
+<p><ul>
+<li><code>hciconfig</code></li>
+<li><code>hcitool</code></li>
+<li><code>hcidump</code></li>
+<li><code>sdptool</code></li>
+<li><code>dbus-send</code></li>
+<li><code>dbus-monitor</code></li>
+</ul>
+</p>
+
+
+
diff --git a/pdk/docs/bring_up.html b/pdk/docs/bring_up.jd
similarity index 66%
rename from pdk/docs/bring_up.html
rename to pdk/docs/bring_up.jd
index b70a35d..763f85e 100755
--- a/pdk/docs/bring_up.html
+++ b/pdk/docs/bring_up.jd
@@ -1,184 +1,12 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20bring_up.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidOHDPortingDeviceBringup"></a><h1>Bring Up</h1>
+page.title=Bring Up
+@jd:body
<p>Once your code is built and you have verified that all necessary directories exist, power on and test your device with basic bring up, as described below. Bring up tests are typically designed to stress certain aspects of your system and allow you to characterize the device's behavior. </p>
<p> </p>
<h3>1. Confirm a Clean Installation of a Basic Linux Kernel </h3>
<p>Before considering Android-specific modifications to the Linux kernel, verify that you can build, deploy, and boot a core Linux kernel on your target hardware. </p>
<p> </p>
+
<h3>2. Modify Your Kernel Configuration to Accommodate Android Drivers</h3>
<p>Your kernel configuration file should include the following:</p>
<pre class="prettyprint">
@@ -530,32 +358,3 @@
</pre>
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/build_new_device.html b/pdk/docs/build_new_device.html
deleted file mode 100755
index cbf9ed7..0000000
--- a/pdk/docs/build_new_device.html
+++ /dev/null
@@ -1,333 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20build_new_device.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidBuildNewTitle"></a><h1>Building Android for a new Mobile Device</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidOHDPortingDeviceBuildingProcess">Detailed Instructions</a><br/>
-<a href="#androidBuildNewFileTree">New Product File Tree</a><br/></div></font></div>
-
-<a name="androidOHDPortingDeviceBuildingProcess"></a><h2>Detailed Instructions</h2>
-
-<p>The directions below describe how to configure make files for new mobile devices and products.</p>
-<ol>
- <li>Create a company directory in <code>//device/partner</code>.<br/>
- <pre class="prettyprint">
- mkdir device/partner/<company_name></pre></li>
- <li>Create a <code>products</code> directory beneath the company directory you created in step 1.<BR>
- <pre class="prettyprint">
- mkdir device/partner/<company_name>/products/</pre></li>
- <li>Create a product-specific make file, called <code>device/partner/<company_name>/products/<first_product_name>.mk</code>, that includes the following code:<BR>
- <pre class="prettyprint">
- $(call inherit-product, target/product/generic.mk)
- #
- # Overrides
- PRODUCT_NAME := <first_product_name>
- PRODUCT_DEVICE := <board_name></pre></li>
- <li>In the <code>products</code> directory, create an <code>AndroidProducts.mk</code> file that point to (and is responsible for finding) the individual product make files.<BR>
- <pre class="prettypring">
- #
- # This file should set PRODUCT_MAKEFILES to a list of product makefiles
- # to expose to the build system. LOCAL_DIR will already be set to
- # the directory containing this file.
- #
- # This file may not rely on the value of any variable other than
- # LOCAL_DIR; do not use any conditionals, and do not look up the
- # value of any variable that isn't set in this file or in a file that
- # it includes.
- #
-
- PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/first_product_name.mk \</pre></li>
- <li>Create a board-specific directory beneath your company directory that matches the <code>PRODUCT_DEVICE</code> variable <code><board_name></code> referenced in the product-specific make file above. This will include a make file that gets accessed by any product using this board.<BR>
- <pre class="prettyprint">
- mkdir device/partner/<company_name>/<board_name></pre></li>
- <li>Create a <code>product_config.mk</code> file in the directory created in the previous step (<code>device/partner/<company_name>/<board_name></code>). If this directory does not include a <code>product_config.mk</code> file, the build will fail.<BR>
- <pre class="prettyprint">
- # These definitions override the defaults in config/config.make for <board_name>
- #
- # TARGET_NO_BOOTLOADER := false
- # TARGET_HARDWARE_3D := false
- #
- TARGET_USE_GENERIC_AUDIO := true</pre></li>
- <li>If you wish to modify system properties, create a <code>system.prop</code> file in your <code><board_name></code> directory(<code>device/partner/<company_name>/<board_name></code>).<BR>
- <pre class="prettyprint">
- # system.prop for <board_name>
- # This overrides settings in the products/generic/system.prop file
- #
- # rild.libpath=/system/lib/libreference-ril.so
- # rild.libargs=-d /dev/ttyS0</pre></li>
- <li>Add a pointer to <code><second_product_name>.mk</code> within <code>products/AndroidProducts.mk</code>.<BR>
- <pre class="prettypring">
- PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/first_product_name.mk \
- $(LOCAL_DIR)/second_product_name.mk</pre></li>
- <li><code>device/partner/<company_name>/<board_name></code> must include an <code>Android.mk</code> file with at least the following code:<BR><BR>
- <pre class="prettyprint">
- # make file for new hardware <board_name> from <company_name>
- #
- LOCAL_PATH := $(call my-dir)
- #
- # this is here to use the pre-built kernel
- ifeq ($(TARGET_PREBUILT_KERNEL),)
- TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernel
- endif
- #
- file := $(INSTALLED_KERNEL_TARGET)
- ALL_PREBUILT += $(file)
- $(file): $(TARGET_PREBUILT_KERNEL) | $(ACP)
- $(transform-prebuilt-to-target)
- #
- # no boot loader, so we don't need any of that stuff..
- #
- LOCAL_PATH := partner/<company_name>/<board_name>
- #
- include $(CLEAR_VARS)
- #
- # include more board specific stuff here? Such as Audio parameters.
- #</pre></li>
-<li>To create a second product for the same board, create a second product-specific make file called <code>device/partner/company_name/products/<second_product_name>.mk</code> that includes:<BR>
-<pre class="prettyprint">
- $(call inherit-product, partner/google/products/generic.mk)
- #
- # Overrides
- PRODUCT_NAME := <second_product_name>
- PRODUCT_DEVICE := <board_name></pre></li>
-</ol>
-<p>By now, you should have two new products, called <code><first_product_name></code> and <code><second_product_name></code> associated with <code><company_name></code>. To verify that a product is properly configured (<code><first_product_name></code>, for example), execute the following:<BR>
-<pre class="prettyprint">
- cd device
- . ./envsetup.sh
- partner_setup <first_product_name>
- make PRODUCT-<first_product_name>-user
-</pre>
-<p>You should find new build binaries located in <code>device/out/target/product/<board_name></code>.
-
-
-<a name="androidBuildNewFileTree"></a><h2>New Product File Tree</h2>
-
-<p>The file tree below illustrates what your own system should look like after completing the steps above.</p>
-<p>
-<ul>
- <li><code><company_name></code></li>
- <ul>
- <li><code><board_name></code></li>
- <ul>
- <li><code>Android.mk</code></li>
- <li><code>product_config.mk</code></li>
- <li><code>system.prop</code></li>
- </ul>
- <li><code>products</code></li>
- <ul>
- <li><code>AndroidProducts.mk</code></li>
- <li><code><first_product_name>.mk</code></li>
- <li><code><second_product_name>.mk</code></li>
- </ul>
- </ul>
-</ul>
-</p>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/build_new_device.jd b/pdk/docs/build_new_device.jd
new file mode 100755
index 0000000..f0a816f
--- /dev/null
+++ b/pdk/docs/build_new_device.jd
@@ -0,0 +1,130 @@
+page.title=Building Android for a new Mobile Device
+pdk.version=1.0
+@jd:body
+
+
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidOHDPortingDeviceBuildingProcess">Detailed Instructions</a><br/>
+<a href="#androidBuildNewFileTree">New Product File Tree</a><br/></div></font></div>
+
+<a name="androidOHDPortingDeviceBuildingProcess"></a><h2>Detailed Instructions</h2>
+
+<p>The directions below describe how to configure make files for new mobile devices and products.</p>
+<ol>
+ <li>Create a company directory in <code>//device/partner</code>.<br/>
+ <pre class="prettyprint">
+ mkdir device/partner/<company_name></pre></li>
+ <li>Create a <code>products</code> directory beneath the company directory you created in step 1.<BR>
+ <pre class="prettyprint">
+ mkdir device/partner/<company_name>/products/</pre></li>
+ <li>Create a product-specific make file, called <code>device/partner/<company_name>/products/<first_product_name>.mk</code>, that includes the following code:<BR>
+ <pre class="prettyprint">
+ $(call inherit-product, target/product/generic.mk)
+ #
+ # Overrides
+ PRODUCT_NAME := <first_product_name>
+ PRODUCT_DEVICE := <board_name></pre></li>
+ <li>In the <code>products</code> directory, create an <code>AndroidProducts.mk</code> file that point to (and is responsible for finding) the individual product make files.<BR>
+ <pre class="prettyprint">
+ #
+ # This file should set PRODUCT_MAKEFILES to a list of product makefiles
+ # to expose to the build system. LOCAL_DIR will already be set to
+ # the directory containing this file.
+ #
+ # This file may not rely on the value of any variable other than
+ # LOCAL_DIR; do not use any conditionals, and do not look up the
+ # value of any variable that isn't set in this file or in a file that
+ # it includes.
+ #
+
+ PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/first_product_name.mk \</pre></li>
+ <li>Create a board-specific directory beneath your company directory that matches the <code>PRODUCT_DEVICE</code> variable <code><board_name></code> referenced in the product-specific make file above. This will include a make file that gets accessed by any product using this board.<BR>
+ <pre class="prettyprint">
+ mkdir device/partner/<company_name>/<board_name></pre></li>
+ <li>Create a <code>product_config.mk</code> file in the directory created in the previous step (<code>device/partner/<company_name>/<board_name></code>). If this directory does not include a <code>product_config.mk</code> file, the build will fail.<BR>
+ <pre class="prettyprint">
+ # These definitions override the defaults in config/config.make for <board_name>
+ #
+ # TARGET_NO_BOOTLOADER := false
+ # TARGET_HARDWARE_3D := false
+ #
+ TARGET_USE_GENERIC_AUDIO := true</pre></li>
+ <li>If you wish to modify system properties, create a <code>system.prop</code> file in your <code><board_name></code> directory(<code>device/partner/<company_name>/<board_name></code>).<BR>
+ <pre class="prettyprint">
+ # system.prop for <board_name>
+ # This overrides settings in the products/generic/system.prop file
+ #
+ # rild.libpath=/system/lib/libreference-ril.so
+ # rild.libargs=-d /dev/ttyS0</pre></li>
+ <li>Add a pointer to <code><second_product_name>.mk</code> within <code>products/AndroidProducts.mk</code>.<BR>
+ <pre class="prettypring">
+ PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/first_product_name.mk \
+ $(LOCAL_DIR)/second_product_name.mk</pre></li>
+ <li><code>device/partner/<company_name>/<board_name></code> must include an <code>Android.mk</code> file with at least the following code:<BR><BR>
+ <pre class="prettyprint">
+ # make file for new hardware <board_name> from <company_name>
+ #
+ LOCAL_PATH := $(call my-dir)
+ #
+ # this is here to use the pre-built kernel
+ ifeq ($(TARGET_PREBUILT_KERNEL),)
+ TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernel
+ endif
+ #
+ file := $(INSTALLED_KERNEL_TARGET)
+ ALL_PREBUILT += $(file)
+ $(file): $(TARGET_PREBUILT_KERNEL) | $(ACP)
+ $(transform-prebuilt-to-target)
+ #
+ # no boot loader, so we don't need any of that stuff..
+ #
+ LOCAL_PATH := partner/<company_name>/<board_name>
+ #
+ include $(CLEAR_VARS)
+ #
+ # include more board specific stuff here? Such as Audio parameters.
+ #</pre></li>
+<li>To create a second product for the same board, create a second product-specific make file called <code>device/partner/company_name/products/<second_product_name>.mk</code> that includes:<BR>
+<pre class="prettyprint">
+ $(call inherit-product, partner/google/products/generic.mk)
+ #
+ # Overrides
+ PRODUCT_NAME := <second_product_name>
+ PRODUCT_DEVICE := <board_name></pre></li>
+</ol>
+<p>By now, you should have two new products, called <code><first_product_name></code> and <code><second_product_name></code> associated with <code><company_name></code>. To verify that a product is properly configured (<code><first_product_name></code>, for example), execute the following:<BR>
+<pre class="prettyprint">
+ cd device
+ . ./envsetup.sh
+ partner_setup <first_product_name>
+ make PRODUCT-<first_product_name>-user
+</pre>
+<p>You should find new build binaries located in <code>device/out/target/product/<board_name></code>.
+
+
+<a name="androidBuildNewFileTree"></a><h2>New Product File Tree</h2>
+
+<p>The file tree below illustrates what your own system should look like after completing the steps above.</p>
+<p>
+<ul>
+ <li><code><company_name></code></li>
+ <ul>
+ <li><code><board_name></code></li>
+ <ul>
+ <li><code>Android.mk</code></li>
+ <li><code>product_config.mk</code></li>
+ <li><code>system.prop</code></li>
+ </ul>
+ <li><code>products</code></li>
+ <ul>
+ <li><code>AndroidProducts.mk</code></li>
+ <li><code><first_product_name>.mk</code></li>
+ <li><code><second_product_name>.mk</code></li>
+ </ul>
+ </ul>
+</ul>
+</p>
diff --git a/pdk/docs/build_system.html b/pdk/docs/build_system.jd
similarity index 62%
rename from pdk/docs/build_system.html
rename to pdk/docs/build_system.jd
index 4286e71..b157f4d 100755
--- a/pdk/docs/build_system.html
+++ b/pdk/docs/build_system.jd
@@ -1,179 +1,6 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20build_system.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidBuildSystemTitle"></a><h1>Android Build System</h1>
-
+page.title=Android Build System
+pdk.version=1.0
+@jd:body
<a name="toc"/>
@@ -425,34 +252,3 @@
<pre class="prettyprint">
% make -j4
</pre>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/camera.html b/pdk/docs/camera.html
deleted file mode 100755
index 1b65659..0000000
--- a/pdk/docs/camera.html
+++ /dev/null
@@ -1,280 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20camera.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidCameraTitle"></a><h1>Camera Subsystem</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidCameraIntroduction">Introduction</a><br/>
-<a href="#androidCameraBuildingDriver">Building a Camera Library</a><br/>
-<a href="#androidCameraSequenceDiagrams">Sequence Diagrams</a><br/><div style="padding-left:40px">
-
-<a href="#androidCameraSequenceDiagramsPreview">Preview</a><br/>
-<a href="#androidCameraSequenceDiagramsTakePic">Taking a Picture</a><br/></div>
-<a href="#androidCameraInterfaceIntro">Interface</a><br/></div></font></div>
-
-<a name="androidCameraIntroduction"></a><h2>Introduction</h2>
-
-<p>Android's camera subsystem connects the camera application to the application framework and user space libraries, which in turn communicate with the camera hardware layer that operates the physical camera.</p>
-<p>The diagram below illustrates the structure of the camera subsystem.</p>
-<p><img src="androidCameraArchitecture.gif"></p>
-
-
-<a name="androidCameraBuildingDriver"></a><h2>Building a Camera Library</h2>
-
-<p>To implement a camera driver, create a shared library that implements the interface defined in <code>CameraHardwareInterface.h</code>. You must name your shared library <code>libcamera.so</code> so that it will get loaded from <code>/system/lib</code> at runtime. Place libcamera sources and <code>Android.mk</code> in <code>partner/acme/chipset_or_board/libcamera/</code>.</p>
-<p>The following stub <code>Android.mk</code> file ensures that <code>libcamera</code> compiles and links to the appropriate libraries:</p>
-<pre class="prettify">
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libcamera
-
-LOCAL_SHARED_LIBRARIES := \
- libutils \
- librpc \
- liblog
-
-LOCAL_SRC_FILES += MyCameraHardware.cpp
-
-LOCAL_CFLAGS +=
-
-LOCAL_C_INCLUDES +=
-
-LOCAL_STATIC_LIBRARIES += \
- libcamera-common \
- libclock-rpc \
- libcommondefs-rpc
-
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-
-<a name="androidCameraSequenceDiagrams"></a><h2>Sequence Diagrams</h2>
-
-
-
-<a name="androidCameraSequenceDiagramsPreview"></a><h3>Preview</h3>
-
-<p>The following diagram illustrates the sequence of function calls and actions necessary for your camera to preview.</p>
-<img src="cameraPreview.jpg">
-
-
-<a name="androidCameraSequenceDiagramsTakePic"></a><h3>Taking a Picture</h3>
-
-<p>The following diagram illustrates the sequence of function calls and actions necessary for your camera to take a picture.</p>
-<img src="cameraTakePicture.jpg">
-
-
-<a name="androidCameraInterfaceIntro"></a><h2>Interface</h2>
-
-
-
-<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="camera.html">click here</a>.</p>
-
-
-<iframe onLoad="resizeHeight();" src="CameraHardwareInterface_8h.html " scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/camera.jd b/pdk/docs/camera.jd
new file mode 100755
index 0000000..85ed3dc
--- /dev/null
+++ b/pdk/docs/camera.jd
@@ -0,0 +1,87 @@
+page.title=Camera Subsystem
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+<a name="toc"/>
+
+<h2>In this document</h2>
+
+<ol>
+<li><a href="#androidCameraIntroduction">Introduction</a></li>
+<li><a href="#androidCameraBuildingDriver">Building a Camera Library</a></li>
+<li><a href="#androidCameraSequenceDiagrams">Sequence Diagrams</a>
+ <ol>
+ <li><a href="#androidCameraSequenceDiagramsPreview">Preview</a></li>
+ <li><a href="#androidCameraSequenceDiagramsTakePic">Taking a Picture</a></li>
+ </ol>
+</li>
+<li><a href="#androidCameraInterfaceIntro">Interface</a></li>
+</ol>
+
+</div>
+</div>
+
+<a name="androidCameraIntroduction"></a><h2>Introduction</h2>
+
+<p>Android's camera subsystem connects the camera application to the application framework and user space libraries, which in turn communicate with the camera hardware layer that operates the physical camera.</p>
+<p>The diagram below illustrates the structure of the camera subsystem.</p>
+<p><img src="androidCameraArchitecture.gif"></p>
+
+
+<a name="androidCameraBuildingDriver"></a><h2>Building a Camera Library</h2>
+
+<p>To implement a camera driver, create a shared library that implements the interface defined in <code>CameraHardwareInterface.h</code>. You must name your shared library <code>libcamera.so</code> so that it will get loaded from <code>/system/lib</code> at runtime. Place libcamera sources and <code>Android.mk</code> in <code>partner/acme/chipset_or_board/libcamera/</code>.</p>
+<p>The following stub <code>Android.mk</code> file ensures that <code>libcamera</code> compiles and links to the appropriate libraries:</p>
+<pre class="prettify">
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libcamera
+
+LOCAL_SHARED_LIBRARIES := \
+ libutils \
+ librpc \
+ liblog
+
+LOCAL_SRC_FILES += MyCameraHardware.cpp
+
+LOCAL_CFLAGS +=
+
+LOCAL_C_INCLUDES +=
+
+LOCAL_STATIC_LIBRARIES += \
+ libcamera-common \
+ libclock-rpc \
+ libcommondefs-rpc
+
+include $(BUILD_SHARED_LIBRARY)
+</pre>
+
+
+<a name="androidCameraSequenceDiagrams"></a><h2>Sequence Diagrams</h2>
+
+
+
+<a name="androidCameraSequenceDiagramsPreview"></a><h3>Preview</h3>
+
+<p>The following diagram illustrates the sequence of function calls and actions necessary for your camera to preview.</p>
+<img src="cameraPreview.jpg">
+
+
+<a name="androidCameraSequenceDiagramsTakePic"></a><h3>Taking a Picture</h3>
+
+<p>The following diagram illustrates the sequence of function calls and actions necessary for your camera to take a picture.</p>
+<img src="cameraTakePicture.jpg">
+
+
+<a name="androidCameraInterfaceIntro"></a><h2>Interface</h2>
+
+
+
+<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="camera.html">click here</a>.</p>
+
+
+<iframe onLoad="resizeDoxFrameHeight();" src="CameraHardwareInterface_8h.html " scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
+
+
diff --git a/pdk/docs/display_drivers.html b/pdk/docs/display_drivers.jd
similarity index 61%
rename from pdk/docs/display_drivers.html
rename to pdk/docs/display_drivers.jd
index c20afe5..d127207 100755
--- a/pdk/docs/display_drivers.html
+++ b/pdk/docs/display_drivers.jd
@@ -1,187 +1,12 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20display_drivers.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidDisplayDriversTitle"></a><h1>Display Drivers</h1>
-
-
+page.title=Display Drivers
+@jd:body
<a name="toc"/>
<div style="padding:10px">
<a href="#androidDisplayDriverIntroduction">Introduction</a><br/>
<a href="#androidDisplayDriverFunctionality">Functionality</a><br/>
<a href="#androidDisplayDriversSourceTemplate">Implementing Your Own Driver (Driver Template)</a><br/>
-<a href="#androidDisplayDriversTroubleshooting">Troubleshooting</a><br/></div></font></div>
+<a href="#androidDisplayDriversTroubleshooting">Troubleshooting</a><br/></div></font>
<a name="androidDisplayDriverIntroduction"></a><h2>Introduction</h2>
@@ -513,32 +338,3 @@
<p>Android relies on a double buffer to smoothly render page flips (please see <a href="androidDisplayDriverFunctionality">Functionality</a> for details).
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/getting_source_code.html b/pdk/docs/getting_source_code.html
deleted file mode 100755
index ad0cddb..0000000
--- a/pdk/docs/getting_source_code.html
+++ /dev/null
@@ -1,335 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20index.html%20v0.5%20-%2025%20September%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="source_setup_guide.html">Host System Setup</a></li>
-
- <li><a href="getting_source_code.html">Getting Source Code</a></li>
- <li> <a href="intro_source_code.html">Source Code Overview</a></li>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio Subsystem</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidGettingSourceCodeTitle"></a><h1>Getting Source Code</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidSourceSetupBuildGitSetup">Introduction</a><br/>
-<a href="#androidSourceSetupBuildGitSetupInstall">Installing and Configuring Git</a><br/>
-<a href="#androidSourceSetupBuildGitSetupServer">Establishing Server Access</a><br/><div style="padding-left:40px">
-
-<a href="#androidSourceSetupBuildGitSetupServerRSAKeys">Generating RSA Keys</a><br/>
-<a href="#androidSourceSetupBuildGitSetupServerVerifyConnection">Verifying a Connection to the Git Server</a><br/></div>
-<a href="#androidSourceSetupGetCode">Downloading Code</a><br/>
-<a href="#androidSourceSetupExtractingPatch">Extracting an Android Patch</a><br/></div></font></div>
-
-<a name="androidSourceSetupBuildGitSetup"></a><h2>Introduction</h2>
-
-<p>Android relies on Git, a version control system, to install the Android platform. You will need to install Git 1.5.2 or greater in order to access the source tree. Please visit <a href="http://git.or.cz/">http://git.or.cz/</a> for more information regarding Git.</p>
-<p>Git permits you to control access to working directories, and we recommend that you use it to limit Android repository access to only a few people within your organization (please refer to your Google NDA for potential contractual restraints on sharing Android source access). </p>
-<p>You may clone Google's repository to a local copy for sharing internally (see Git documentation for details).</p>
-
-
-<a name="androidSourceSetupBuildGitSetupInstall"></a><h2>Installing and Configuring Git</h2>
-
-<p>To install the Git package, execute:</p>
-<pre class="prettyprint">
-% sudo apt-get install git-core
-</pre>
-
-
-<a name="androidSourceSetupBuildGitSetupServer"></a><h2>Establishing Server Access</h2>
-
-<p>Once Git is cleanly installed, you need to establish a connection with Google's Git server, a connection that requires an RSA key in order to authenticate requests.</p>
-
-
-<a name="androidSourceSetupBuildGitSetupServerRSAKeys"></a><h3>Generating RSA Keys</h3>
-
-<p>Each developer must have a unique RSA key in order to access Android source code. To generate an RSA key: </p>
-<p>
-<ol>
-<li>Type:<br/>
-<pre class="prettyprint">% ssh-keygen -t rsa -C email@domain.com</pre><br/>
-You must use a valid email address to create your key.</li>
-<li>When prompted, indicate the file to which you wish to write your key (<code>id_rsa</code> in this example).</li>
-<li>When prompted, associate a passphrase with your key.</li>
-<li>Upon success, you should have two files saved to the designated directory: </li>
-<ul>
- <li><code>id_rsa</code>: This file contains the private half of your RSA key. You shouldn't share this file with anyone. </li>
- <li><code>id_rsa.pub</code>: This is the public half or your RSA key and you should send it to your Google technical account manager.</li>
- </ul>
-</ol>
-</p>
-<p>Send your Google Account Manager your public key file in order to establish Git server access. </p>
-
-
-<a name="androidSourceSetupBuildGitSetupServerVerifyConnection"></a><h3>Verifying a Connection to the Git Server</h3>
-
-<p>Once you have generated an RSA key and shared the public file with Google, you can test your connection with the Git server with the following command:</p>
-<pre class="prettyprint">
-% ssh android-git.ext.google.com
-</pre>
-
-<p>You should receive one of the following results:</p>
-
-<table border=1 cellpadding=2 cellspacing=0>
- <tbody><tr>
- <th scope="col">Result</th>
- <th scope="col">Cause</th>
- <th scope="col">Action</th>
- </tr>
- <tr>
- <td>
-<code>fatal: What do you think I am? A shell?<BR>
-Connection to android-git closed.</code>
-</pre> </td>
- <td>Success</td>
- <td>None. You successfully connected to the Git server. (You should not have shell access and it's expected to receive this error.)</td>
- </tr>
- <tr>
- <td>ssh hangs and eventually times out. </td>
- <td>Your setup is failing to locate and establish a basic connection. </td>
- <td>Google needs to debug network settings. </td>
- </tr>
- <tr>
- <td>Error: Permission denied <public key> </td>
- <td>Either you are not using the matching username or the RSA private key does not match the public key. </td>
- <td>Try executing:<BR>
- <code>
-% ssh $USER@android-
- git.ext.google.com
-</code></td>
- </tr>
-</table>
-
-
-<a name="androidSourceSetupGetCode"></a><h2>Downloading Code</h2>
-
-<p>Android source code is maintained in two repositories: <code>device</code> and <code>kernel</code>. The <code>device</code> repository includes the Android framework (things like the Activity Manager, Window Manager, Telephony Manager, View System, etc.). The <code>kernel</code> repository includes the core code necessary to run the operating system (things like the Display Driver, Camera Driver, Keypad Driver, Power Management, etc.). (Please see <a href="http://code.google.com/android/what-is-android.html">What is Android?</a> for details.)</p>
-
-<p>Save device and kernel code at the same directory level, for example:</p>
-<p>
-<ul><li><code>/home/joe/android/device</code></li>
-<li><code>/home/joe/android/kernel</code></li>
-</ul></p>
-<p><b>Device Code</b></p>
-<p>To download device code, you need your username and a unique <code><path></code> string supplied by Google to execute the following:</p>
-<pre class="prettyprint">
-% git-clone $USER@android-git.ext.google.com:<path>/device.git
-</pre>
-
-<p><b>Kernel Code</b></p>
-<p>To download kernel code, you need your username and a unique <code><path></code> string supplied by Google to execute the following:</p>
-<pre class="prettyprint">
-% git-clone $USER@android-git.ext.google.com:<path>/kernel.git
-</pre>
-
-
-
-<a name="androidSourceSetupExtractingPatch"></a><h2>Extracting an Android Patch</h2>
-
-<p>You likely already have Linux running on your platform and only need to integrate Android-specific changes. The following directions describe how to extract an Android patch.</p>
-<ol>
- <li>Download a generic version of the Linux kernel that matches the Linux version downloaded with the Android Kernel code.</li>
- <li>Run <code>diff</code> on the two kernel packages to get Android-specific changes.</li>
- <li>Apply the patch to your target kernel and build.</li>
-</ol>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.5 - 25 September 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/getting_source_code.jd b/pdk/docs/getting_source_code.jd
new file mode 100755
index 0000000..19a7069
--- /dev/null
+++ b/pdk/docs/getting_source_code.jd
@@ -0,0 +1,126 @@
+page.title=Getting Source Code
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidSourceSetupBuildGitSetup">Introduction</a><br/>
+<a href="#androidSourceSetupBuildGitSetupInstall">Installing and Configuring Git</a><br/>
+<a href="#androidSourceSetupBuildGitSetupServer">Establishing Server Access</a><br/><div style="padding-left:40px">
+
+<a href="#androidSourceSetupBuildGitSetupServerRSAKeys">Generating RSA Keys</a><br/>
+<a href="#androidSourceSetupBuildGitSetupServerVerifyConnection">Verifying a Connection to the Git Server</a><br/></div>
+<a href="#androidSourceSetupGetCode">Downloading Code</a><br/>
+<a href="#androidSourceSetupExtractingPatch">Extracting an Android Patch</a><br/></div>
+
+<a name="androidSourceSetupBuildGitSetup"></a><h2>Introduction</h2>
+
+<p>Android relies on Git, a version control system, to install the Android platform. You will need to install Git 1.5.2 or greater in order to access the source tree. Please visit <a href="http://git.or.cz/">http://git.or.cz/</a> for more information regarding Git.</p>
+<p>Git permits you to control access to working directories, and we recommend that you use it to limit Android repository access to only a few people within your organization (please refer to your Google NDA for potential contractual restraints on sharing Android source access). </p>
+<p>You may clone Google's repository to a local copy for sharing internally (see Git documentation for details).</p>
+
+
+<a name="androidSourceSetupBuildGitSetupInstall"></a><h2>Installing and Configuring Git</h2>
+
+<p>To install the Git package, execute:</p>
+<pre class="prettyprint">
+% sudo apt-get install git-core
+</pre>
+
+
+<a name="androidSourceSetupBuildGitSetupServer"></a><h2>Establishing Server Access</h2>
+
+<p>Once Git is cleanly installed, you need to establish a connection with Google's Git server, a connection that requires an RSA key in order to authenticate requests.</p>
+
+
+<a name="androidSourceSetupBuildGitSetupServerRSAKeys"></a><h3>Generating RSA Keys</h3>
+
+<p>Each developer must have a unique RSA key in order to access Android source code. To generate an RSA key: </p>
+<p>
+<ol>
+<li>Type:<br/>
+<pre class="prettyprint">% ssh-keygen -t rsa -C email@domain.com</pre><br/>
+You must use a valid email address to create your key.</li>
+<li>When prompted, indicate the file to which you wish to write your key (<code>id_rsa</code> in this example).</li>
+<li>When prompted, associate a passphrase with your key.</li>
+<li>Upon success, you should have two files saved to the designated directory: </li>
+<ul>
+ <li><code>id_rsa</code>: This file contains the private half of your RSA key. You shouldn't share this file with anyone. </li>
+ <li><code>id_rsa.pub</code>: This is the public half or your RSA key and you should send it to your Google technical account manager.</li>
+ </ul>
+</ol>
+</p>
+<p>Send your Google Account Manager your public key file in order to establish Git server access. </p>
+
+
+<a name="androidSourceSetupBuildGitSetupServerVerifyConnection"></a><h3>Verifying a Connection to the Git Server</h3>
+
+<p>Once you have generated an RSA key and shared the public file with Google, you can test your connection with the Git server with the following command:</p>
+<pre class="prettyprint">
+% ssh android-git.ext.google.com
+</pre>
+
+<p>You should receive one of the following results:</p>
+
+<table border=1 cellpadding=2 cellspacing=0>
+ <tbody><tr>
+ <th scope="col">Result</th>
+ <th scope="col">Cause</th>
+ <th scope="col">Action</th>
+ </tr>
+ <tr>
+ <td>
+<code>fatal: What do you think I am? A shell?<BR>
+Connection to android-git closed.</code>
+</pre> </td>
+ <td>Success</td>
+ <td>None. You successfully connected to the Git server. (You should not have shell access and it's expected to receive this error.)</td>
+ </tr>
+ <tr>
+ <td>ssh hangs and eventually times out. </td>
+ <td>Your setup is failing to locate and establish a basic connection. </td>
+ <td>Google needs to debug network settings. </td>
+ </tr>
+ <tr>
+ <td>Error: Permission denied <public key> </td>
+ <td>Either you are not using the matching username or the RSA private key does not match the public key. </td>
+ <td>Try executing:<BR>
+ <code>
+% ssh $USER@android-
+ git.ext.google.com
+</code></td>
+ </tr>
+</table>
+
+
+<a name="androidSourceSetupGetCode"></a><h2>Downloading Code</h2>
+
+<p>Android source code is maintained in two repositories: <code>device</code> and <code>kernel</code>. The <code>device</code> repository includes the Android framework (things like the Activity Manager, Window Manager, Telephony Manager, View System, etc.). The <code>kernel</code> repository includes the core code necessary to run the operating system (things like the Display Driver, Camera Driver, Keypad Driver, Power Management, etc.). (Please see <a href="http://code.google.com/android/what-is-android.html">What is Android?</a> for details.)</p>
+
+<p>Save device and kernel code at the same directory level, for example:</p>
+<p>
+<ul><li><code>/home/joe/android/device</code></li>
+<li><code>/home/joe/android/kernel</code></li>
+</ul></p>
+<p><b>Device Code</b></p>
+<p>To download device code, you need your username and a unique <code><path></code> string supplied by Google to execute the following:</p>
+<pre class="prettyprint">
+% git-clone $USER@android-git.ext.google.com:<path>/device.git
+</pre>
+
+<p><b>Kernel Code</b></p>
+<p>To download kernel code, you need your username and a unique <code><path></code> string supplied by Google to execute the following:</p>
+<pre class="prettyprint">
+% git-clone $USER@android-git.ext.google.com:<path>/kernel.git
+</pre>
+
+
+
+<a name="androidSourceSetupExtractingPatch"></a><h2>Extracting an Android Patch</h2>
+
+<p>You likely already have Linux running on your platform and only need to integrate Android-specific changes. The following directions describe how to extract an Android patch.</p>
+<ol>
+ <li>Download a generic version of the Linux kernel that matches the Linux version downloaded with the Android Kernel code.</li>
+ <li>Run <code>diff</code> on the two kernel packages to get Android-specific changes.</li>
+ <li>Apply the patch to your target kernel and build.</li>
+</ol>
+
diff --git a/pdk/docs/gps.html b/pdk/docs/gps.html
deleted file mode 100755
index eb5473f..0000000
--- a/pdk/docs/gps.html
+++ /dev/null
@@ -1,259 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20gps.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidGpsTitle"></a><h1>GPS</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidGpsIntroduction">Introduction</a><br/>
-<a href="#androidGPSBuildingDriver">Building a GPS Library</a><br/>
-<a href="#androidGPSInterface">Interface</a><br/></div></font></div>
-
-<a name="androidGpsIntroduction"></a><h2>Introduction</h2>
-
-<p>Android defines a user space C abstraction interface for GPS hardware. The interface header is defined in <code>include/hardware/gps.h</code>. In order to integate GPS with Android, you need to build a shared library that implements this interface. </p>
-
-
-<a name="androidGPSBuildingDriver"></a><h2>Building a GPS Library</h2>
-
-<p>To implement a GPS driver, create a shared library that implements the interface defined in <code>gps.h</code>. You must name your shared library <code>libgps.so</code> so that it will get loaded from <code>/system/lib</code> at runtime. Place GPS sources and Android.mk in <code>partner/acme/chipset_or_board/gps/</code> (where "acme" is your product name and "chipset_or_board" is your hardware target).</p>
-
-<p>The following stub <code>Android.mk</code> file ensures that <code>libgps</code> compiles and links to the appropriate libraries:</p>
-
-<pre class="prettify">
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libgps
-
-LOCAL_STATIC_LIBRARIES:= \
-# include any static library dependencies
-
-LOCAL_SHARED_LIBRARIES := \
-# include any shared library dependencies
-
-LOCAL_SRC_FILES += \
-# include your source files. eg. MyGpsLibrary.cpp
-
-LOCAL_CFLAGS += \
-# include any needed compile flags
-
-LOCAL_C_INCLUDES:= \
-# include any needed local header files
-
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-
-<a name="androidGPSInterface"></a><h2>Interface</h2>
-
-
-
-<p><span class="lh2"><a name="androidDoxygenNote"></a></span>
-
-<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="gps.html">click here</a>.</p>
-
-
-<iframe onLoad="resizeHeight();" src="gps_8h.html" scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
-
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/gps.jd b/pdk/docs/gps.jd
new file mode 100755
index 0000000..aa617e3
--- /dev/null
+++ b/pdk/docs/gps.jd
@@ -0,0 +1,49 @@
+page.title=GPS
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidGpsIntroduction">Introduction</a><br/>
+<a href="#androidGPSBuildingDriver">Building a GPS Library</a><br/>
+<a href="#androidGPSInterface">Interface</a><br/></div>
+
+<a name="androidGpsIntroduction"></a><h2>Introduction</h2>
+
+<p>Android defines a user space C abstraction interface for GPS hardware. The interface header is defined in <code>include/hardware/gps.h</code>. In order to integate GPS with Android, you need to build a shared library that implements this interface. </p>
+
+
+<a name="androidGPSBuildingDriver"></a><h2>Building a GPS Library</h2>
+
+<p>To implement a GPS driver, create a shared library that implements the interface defined in <code>gps.h</code>. You must name your shared library <code>libgps.so</code> so that it will get loaded from <code>/system/lib</code> at runtime. Place GPS sources and Android.mk in <code>partner/acme/chipset_or_board/gps/</code> (where "acme" is your product name and "chipset_or_board" is your hardware target).</p>
+
+<p>The following stub <code>Android.mk</code> file ensures that <code>libgps</code> compiles and links to the appropriate libraries:</p>
+
+<pre class="prettify">
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libgps
+
+LOCAL_STATIC_LIBRARIES:= \
+# include any static library dependencies
+
+LOCAL_SHARED_LIBRARIES := \
+# include any shared library dependencies
+
+LOCAL_SRC_FILES += \
+# include your source files. eg. MyGpsLibrary.cpp
+
+LOCAL_CFLAGS += \
+# include any needed compile flags
+
+LOCAL_C_INCLUDES:= \
+# include any needed local header files
+
+include $(BUILD_SHARED_LIBRARY)
+</pre>
+
+
+<a name="androidGPSInterface"></a><h2>Interface</h2>
+
+
+
diff --git a/pdk/docs/group__memory.html b/pdk/docs/group__memory.html
deleted file mode 100755
index 44d0782..0000000
--- a/pdk/docs/group__memory.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title>Doxygen-Generated Content</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<style type="text/css">
-<!--
-.navigation {
- display: none;
-}
--->
-</style>
-</head>
-<body>
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Data Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>Porividng Heap Memory<br>
-<small>
-[<a class="el" href="group__networking.html">Neworking Support</a>]</small>
-</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-This is the text in the "Providing Heap Memory" subgroup </div>
-</body>
-</html>
diff --git a/pdk/docs/group__memory.jd b/pdk/docs/group__memory.jd
new file mode 100755
index 0000000..87f19d5
--- /dev/null
+++ b/pdk/docs/group__memory.jd
@@ -0,0 +1,22 @@
+page.title=Providing Heap Memory
+@jd:body
+
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+
+<small>
+[<a class="el" href="group__networking.html">Neworking Support</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+This is the text in the "Providing Heap Memory" subgroup </div>
+
diff --git a/pdk/docs/group__networking.html b/pdk/docs/group__networking.html
deleted file mode 100755
index 6a8e1b8..0000000
--- a/pdk/docs/group__networking.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title>Doxygen-Generated Content</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<style type="text/css">
-<!--
-.navigation {
- display: none;
-}
--->
-</style>
-</head>
-<body>
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Data Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>Neworking Support</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__memory.html">Porividng Heap Memory</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This is a text for the Networking Support Group </div>
-</body>
-</html>
diff --git a/pdk/docs/group__networking.jd b/pdk/docs/group__networking.jd
new file mode 100755
index 0000000..c5a94fc
--- /dev/null
+++ b/pdk/docs/group__networking.jd
@@ -0,0 +1,24 @@
+page.title=Networking Support
+@jd:body
+
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__memory.html">Porividng Heap Memory</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This is a text for the Networking Support Group </div>
+
diff --git a/pdk/docs/index.html b/pdk/docs/index.html
deleted file mode 100755
index 6eac80b..0000000
--- a/pdk/docs/index.html
+++ /dev/null
@@ -1,248 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20index.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidPortingGuideTitle"></a><h1>Welcome to the Android Porting Guide</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidWelcomeIntendedAudience">Intended Audience</a><br/>
-<a href="#androidWelcomeGettingStarted">Getting Started with Android</a><br/>
-<a href="#androidWelcomePorting">Porting Android to Your Device</a><br/></div></font></div>
-
-<p>The Open Handset Distribution (OHD) is a software distribution for mobile devices, often referred to as Android, developed by members of the <a href="http://www.openhandsetalliance.com">Open Handset Alliance</a>. Android includes an operating system, middleware, and key applications typically required for a mobile device.</p>
-
-<p>This porting guide describes the steps necessary to port Android to a new mobile device. Android is designed as a highly-portable, hardware-independent platform based on Linux, and porting the platform to new devices requires little more than porting the Linux kernel and developing the Linux drivers necessary for your device.</p>
-
-<p>The current version of this guide describes bringing Android up to "PDA-level" functionality; functionality sufficient to support non-multimedia apps that run on unconnected mobile devices through the standard user interface devices such as keypad and display. Future versions of this guide will cover complete telephony, multi-media and peripheral integration to create a complete mobile device.</p>
-
-
-<a name="androidWelcomeIntendedAudience"></a><h2>Intended Audience</h2>
-
-<p>This porting guide is intended for engineers proficient with running (and writing drivers for) Linux on embedded devices.
-<p>The guide also assumes you have a target hardware that matches <a href="system_requirements.html">Device Requirements</a> and that you
-can boot and run a recent (2.6.x) version of the Linux kernel
-with at least keypad and display drivers properly installed.</p>
-
-
-<a name="androidWelcomeGettingStarted"></a><h2>Getting Started with Android</h2>
-
-<p>To get started with Android, start with the publicly-available documentation at <a href="http://code.google.com/android/documentation.html">http://code.google.com/android/documentation.html</a>, paying particular attention to <a href="http://code.google.com/android/what-is-android.html">What is Android?</a> and <a href="http://code.google.com/android/intro/index.html">Getting Started with Android</a>.</p>
-
-
-<a name="androidWelcomePorting"></a><h2>Porting Android to Your Device</h2>
-
-<p>Start with the following sections in order to port Android to your target hardware.</p>
-<dl>
- <dt><a href="system_requirements.html">Device Requirements</a></dt>
- <dd>What must your device support in order to successfully port Android to it? </dd>
- <dt><a href="source_setup_guide.html">Setting up a Development Environment </a></dt>
-
- <dd>Install necessary packages and retrieve source code through a Git server. <a href="build_system.html">Build System</a> offers a conceptual overview of Android's build system and instructions to affect a simple build.</dd>
- <dt><a href="bring_up.html">Basic Bring up </a></dt>
- <dd>Establish core components necessary to your device, such as keymaps / keyboard input and display drivers. </dd>
- <dt> </dt>
-</dl>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/index.jd b/pdk/docs/index.jd
new file mode 100644
index 0000000..b7529d3
--- /dev/null
+++ b/pdk/docs/index.jd
@@ -0,0 +1,39 @@
+home=true
+page.title=Welcome to the Android Porting Guide
+pdk.version=1.0
+@jd:body
+
+
+<p>The Open Handset Distribution (OHD) is a software distribution for mobile devices, often referred to as Android, developed by members of the <a href="http://www.openhandsetalliance.com">Open Handset Alliance</a>. Android includes an operating system, middleware, and key applications typically required for a mobile device.</p>
+
+<p>This porting guide describes the steps necessary to port Android to a new mobile device. Android is designed as a highly-portable, hardware-independent platform based on Linux, and porting the platform to new devices requires little more than porting the Linux kernel and developing the Linux drivers necessary for your device.</p>
+
+<p>The current version of this guide describes bringing Android up to "PDA-level" functionality; functionality sufficient to support non-multimedia apps that run on unconnected mobile devices through the standard user interface devices such as keypad and display. Future versions of this guide will cover complete telephony, multi-media and peripheral integration to create a complete mobile device.</p>
+
+
+<a name="androidWelcomeIntendedAudience"></a><h2>Intended Audience</h2>
+
+<p>This porting guide is intended for engineers proficient with running (and writing drivers for) Linux on embedded devices.
+<p>The guide also assumes you have a target hardware that matches <a href="system_requirements.html">Device Requirements</a> and that you
+can boot and run a recent (2.6.x) version of the Linux kernel
+with at least keypad and display drivers properly installed.</p>
+
+
+<a name="androidWelcomeGettingStarted"></a><h2>Getting Started with Android</h2>
+
+<p>To get started with Android, start with the publicly-available documentation at <a href="http://code.google.com/android/documentation.html">http://code.google.com/android/documentation.html</a>, paying particular attention to <a href="http://code.google.com/android/what-is-android.html">What is Android?</a> and <a href="http://code.google.com/android/intro/index.html">Getting Started with Android</a>.</p>
+
+
+<a name="androidWelcomePorting"></a><h2>Porting Android to Your Device</h2>
+
+<p>Start with the following sections in order to port Android to your target hardware.</p>
+<dl>
+ <dt><a href="system_requirements.html">Device Requirements</a></dt>
+ <dd>What must your device support in order to successfully port Android to it? </dd>
+ <dt><a href="source_setup_guide.html">Setting up a Development Environment </a></dt>
+
+ <dd>Install necessary packages and retrieve source code through a Git server. <a href="build_system.html">Build System</a> offers a conceptual overview of Android's build system and instructions to affect a simple build.</dd>
+ <dt><a href="bring_up.html">Basic Bring up </a></dt>
+ <dd>Establish core components necessary to your device, such as keymaps / keyboard input and display drivers. </dd>
+ <dt> </dt>
+</dl>
diff --git a/pdk/docs/instrumentation_framework.html b/pdk/docs/instrumentation_framework.html
deleted file mode 100755
index 306cbc6..0000000
--- a/pdk/docs/instrumentation_framework.html
+++ /dev/null
@@ -1,316 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Instrumentation Framework</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20instrumentation_framework.html%20v0.3%20-%209%20June%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="source_setup_guide.html">Host System Setup</a></li>
- <li><a href="getting_source_code.html">Getting Source Code</a></li>
- <li> <a href="intro_source_code.html">Source Code Overview</a></li>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio Subsystem</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_framework.html">Instrumentation Framework</a></li>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidTitleInstrumentationFramework"></a><h1>Instrumentation Framework</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidInstrumentationFrameworkIntro">Introduction</a><br/>
-<a href="#androidInstrumentationFrameworkamCommand">Understanding the am Command</a><br/>
-<a href="#androidInstrumentationFrameworkWritingRunning">Writing and Running Test Cases</a><br/>
-<a href="#androidInstrumentationFrameworkTestCase">Exploring a Test Case</a><br/>
-<a href="#androidInstrumentationFrameworkTroubleshooting">Troubleshooting</a><br/></div></font></div>
-
-<a name="androidInstrumentationFrameworkIntro"></a><h2>Introduction</h2>
-
-<p>This document describes how to use the Instrumentation Framework to write test cases. You should have a working knowledge of the following:</p>
-<ul>
- <li> Android Application Framework </li>
- <li> Using <code>adb</code>, <code>am</code> and various logging functionality </li>
- <li> A brief understanding of the application of interest, that is, he names of the classes which handle the intents etc. </li>
- <li> Junit testing. </li>
-</ul>
-<p> Each Android application runs in its own process. Instrumentation kills the application process and restarts the process with Instrumentation. Instrumentation gives a handle to the application context used to poke around the application to validate test assertions, allowing you to write test cases to test applications at a much lower level than UI screen shot tests. Note that Instrumentation cannot catch UI bugs. </p>
-
-
-<a name="androidInstrumentationFrameworkamCommand"></a><h2>Understanding the am Command</h2>
-
-<p><code>am</code> is used to start and instrument activities using the adb shell command, as shown in the snippet below:</p>
-<pre class="prettify">
-> adb shell am
-usage: am [start|instrument]
- am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
- [-c <CATEGORY> [-c <CATEGORY>] ...]
- [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
- [-n <COMPONENT>] [-D] [<URI>]
- am instrument [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>]
- [-w] <COMPONENT>
-For example, to start the Contacts application you can use
-> adb shell am start -n com.google.android.contacts/.ContactsActivity
-</pre>
-
-
-<a name="androidInstrumentationFrameworkWritingRunning"></a><h2>Writing and Running Test Cases</h2>
-
-<p>Each instrumentation test case is similar to an Android application with the distinction that it starts another application. For example, have a look in the <code>tests/Contacts</code> directory. </p>
-<ul>
- <li> There should be a Makefile and an Android Manifest file. </li>
- <li> Tests are located in <code>tests/Contacts/src/com/google/android/contactstests</code>. </li>
- <li> The Instrumentation Test Runner is located at <code>tests/Contacts/src/com/google/android/contactstests/functional/ContactsInstrumentationTestRunner.java</code>.</li>
-</ul>
-<p>Suppose you have a makefile with <code>Contactstests</code> as the target. </p>
-<ul>
- <li> <code>make Contactstests</code>: Compiles the test cases. </li>
- <li> <code>adb install Contactstests.apk</code>: Installs the apk on the device. </li>
- <li> Use the adb shell <code>am</code> command to run them. </li>
-</ul>
-<p> For options and other details, please see <a href="instrumentation_testing.html" target="_top">Instrumentation Testing</a>.</p>
-
-
-<a name="androidInstrumentationFrameworkTestCase"></a><h2>Exploring a Test Case</h2>
-
-<p> The test case described in this section adds and tests a new Contact. Note that you can send intents, register intent receivers, etc. </p>
-<p><code>Instrumentation.java</code> has helper functions that send key events and string, for example: </p>
-<ul>
- <li><code>getInstrumentation()</code>: Returns the handle to the instrumentation </li>
- <li><code>sendCharacterSync</code>: Sends a character. </li>
- <li><code>sendStringSync</code>: Sends a string to an input box. </li>
- <li><code>sendKeyDownUpSync</code>: Sends a specific keyevent. </li>
- <li><code>sendTrackballEventSync</code>: Send a trackball event.</li>
-</ul>
-<p> You can find the test case below at <code>device/tests/Contacts.</code></p>
-<pre class="prettify">
-private void addNewContact(String name, int star, int phoneType, String number, String label,
- String email, int emailType){
- ContentValues values = new ContentValues();
- Uri phoneUri = null;
- Uri emailUri = null;
-
- values.put(Contacts.People.NAME, name);
- values.put(Contacts.People.STARRED, star);
-
- //Add Phone Numbers
- Uri uri = mActivity.getContentResolver().insert(Contacts.People.CONTENT_URI, values);
- phoneUri = Uri.withAppendedPath(uri, Contacts.People.Phones.CONTENT_DIRECTORY);
-
- values.clear();
- values.put(Contacts.Phones.TYPE, phoneType);
- values.put(Contacts.Phones.NUMBER, number);
- values.put(Contacts.Phones.LABEL, label);
- mActivity.getContentResolver().insert(phoneUri, values);
-
- //Add Email
- emailUri = Uri.withAppendedPath(uri, ContactMethods.CONTENT_DIRECTORY);
-
- values.clear();
- values.put(ContactMethods.KIND, Contacts.KIND_EMAIL);
- values.put(ContactMethods.DATA, email);
- values.put(ContactMethods.LABEL, "");
- values.put(ContactMethods.TYPE, emailType);
- mActivity.getContentResolver().insert(emailUri, values);
-}
-
-
- public void testAddSaveSingleContact(){
- int previousCount = mActivity.getListView().getCount();
- String message;
-
- addNewContact(INPUT_NAME_1 + "1", "5435754532", "1" + INPUT_EMAIL_1, CONFIRM_OPTION);
-
- message = "Added 1 to initial length=" + previousCount + ", but resulted with a count=" +
- mActivity.getListView().getCount();
- assertEquals(message, ++previousCount, mActivity.getListView().getCount());
-
- // Check Content; Name; Num; Starred
- assertEquals(INPUT_NAME_1 + "1", getTextFromView(0, android.R.id.text1));
- assertEquals("5435754532", getTextFromView(0, android.R.id.text2));
-
- //Check email is saved
- //cursor = returnEmailCursorAtId("1");
- Uri uri = Uri.parse("content://contacts/people/1");
- uri = Uri.withAppendedPath(uri, ContactMethods.CONTENT_DIRECTORY);
- Cursor cursor = mActivity.getContentResolver().query(uri, CONTACTS_COLUMNS, null, null, null);
- assertTrue("returnEmailCursorAtId: Moving cursor to first row has failed", cursor.first());
-
- int dataIndex = cursor.getColumnIndexOrThrow("data");
- assertEquals("1" + INPUT_EMAIL_1, cursor.getString(dataIndex));
- cursor.deactivate();
-}
- </pre>
-
-
-<a name="androidInstrumentationFrameworkTroubleshooting"></a><h2>Troubleshooting</h2>
-
-<p>If you run your test cases and nothing appears to happen, have a look at <code>adb logcat</code>. The following is a common problem:</p>
-<pre class="prettify">
-I/dalvikvm( 688): threadid=11: attached from native, name=Binder Thread #1
-I/dalvikvm( 688): threadid=13: attached from native, name=Binder Thread #2
-W/ActivityManager( 469): Unable to find instrumentation info for: ComponentInfo{com.google.android.browser_instrumentation/com.google.android.browser_instrumentation.BrowserWebkitLayoutInstrumentation}
-D/AndroidRuntime( 688): Shutting down VM
-E/AndroidRuntime( 688): ERROR: thread attach failed
-</pre>
-<p>It's possible that the instrumentation apk isn't installed on your device or that the package name is incorrect in the Manifest file. </p>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.3 - 9 June 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/instrumentation_framework.jd b/pdk/docs/instrumentation_framework.jd
new file mode 100755
index 0000000..a8eab2e
--- /dev/null
+++ b/pdk/docs/instrumentation_framework.jd
@@ -0,0 +1,141 @@
+page.title=Instrumentation Framework
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidInstrumentationFrameworkIntro">Introduction</a><br/>
+<a href="#androidInstrumentationFrameworkamCommand">Understanding the am Command</a><br/>
+<a href="#androidInstrumentationFrameworkWritingRunning">Writing and Running Test Cases</a><br/>
+<a href="#androidInstrumentationFrameworkTestCase">Exploring a Test Case</a><br/>
+<a href="#androidInstrumentationFrameworkTroubleshooting">Troubleshooting</a><br/></div>
+
+<a name="androidInstrumentationFrameworkIntro"></a><h2>Introduction</h2>
+
+<p>This document describes how to use the Instrumentation Framework to write test cases. You should have a working knowledge of the following:</p>
+<ul>
+ <li> Android Application Framework </li>
+ <li> Using <code>adb</code>, <code>am</code> and various logging functionality </li>
+ <li> A brief understanding of the application of interest, that is, he names of the classes which handle the intents etc. </li>
+ <li> Junit testing. </li>
+</ul>
+<p> Each Android application runs in its own process. Instrumentation kills the application process and restarts the process with Instrumentation. Instrumentation gives a handle to the application context used to poke around the application to validate test assertions, allowing you to write test cases to test applications at a much lower level than UI screen shot tests. Note that Instrumentation cannot catch UI bugs. </p>
+
+
+<a name="androidInstrumentationFrameworkamCommand"></a><h2>Understanding the am Command</h2>
+
+<p><code>am</code> is used to start and instrument activities using the adb shell command, as shown in the snippet below:</p>
+<pre class="prettify">
+> adb shell am
+usage: am [start|instrument]
+ am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
+ [-c <CATEGORY> [-c <CATEGORY>] ...]
+ [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
+ [-n <COMPONENT>] [-D] [<URI>]
+ am instrument [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>]
+ [-w] <COMPONENT>
+For example, to start the Contacts application you can use
+> adb shell am start -n com.google.android.contacts/.ContactsActivity
+</pre>
+
+
+<a name="androidInstrumentationFrameworkWritingRunning"></a><h2>Writing and Running Test Cases</h2>
+
+<p>Each instrumentation test case is similar to an Android application with the distinction that it starts another application. For example, have a look in the <code>tests/Contacts</code> directory. </p>
+<ul>
+ <li> There should be a Makefile and an Android Manifest file. </li>
+ <li> Tests are located in <code>tests/Contacts/src/com/google/android/contactstests</code>. </li>
+ <li> The Instrumentation Test Runner is located at <code>tests/Contacts/src/com/google/android/contactstests/functional/ContactsInstrumentationTestRunner.java</code>.</li>
+</ul>
+<p>Suppose you have a makefile with <code>Contactstests</code> as the target. </p>
+<ul>
+ <li> <code>make Contactstests</code>: Compiles the test cases. </li>
+ <li> <code>adb install Contactstests.apk</code>: Installs the apk on the device. </li>
+ <li> Use the adb shell <code>am</code> command to run them. </li>
+</ul>
+<p> For options and other details, please see <a href="instrumentation_testing.html" target="_top">Instrumentation Testing</a>.</p>
+
+
+<a name="androidInstrumentationFrameworkTestCase"></a><h2>Exploring a Test Case</h2>
+
+<p> The test case described in this section adds and tests a new Contact. Note that you can send intents, register intent receivers, etc. </p>
+<p><code>Instrumentation.java</code> has helper functions that send key events and string, for example: </p>
+<ul>
+ <li><code>getInstrumentation()</code>: Returns the handle to the instrumentation </li>
+ <li><code>sendCharacterSync</code>: Sends a character. </li>
+ <li><code>sendStringSync</code>: Sends a string to an input box. </li>
+ <li><code>sendKeyDownUpSync</code>: Sends a specific keyevent. </li>
+ <li><code>sendTrackballEventSync</code>: Send a trackball event.</li>
+</ul>
+<p> You can find the test case below at <code>device/tests/Contacts.</code></p>
+<pre class="prettify">
+private void addNewContact(String name, int star, int phoneType, String number, String label,
+ String email, int emailType){
+ ContentValues values = new ContentValues();
+ Uri phoneUri = null;
+ Uri emailUri = null;
+
+ values.put(Contacts.People.NAME, name);
+ values.put(Contacts.People.STARRED, star);
+
+ //Add Phone Numbers
+ Uri uri = mActivity.getContentResolver().insert(Contacts.People.CONTENT_URI, values);
+ phoneUri = Uri.withAppendedPath(uri, Contacts.People.Phones.CONTENT_DIRECTORY);
+
+ values.clear();
+ values.put(Contacts.Phones.TYPE, phoneType);
+ values.put(Contacts.Phones.NUMBER, number);
+ values.put(Contacts.Phones.LABEL, label);
+ mActivity.getContentResolver().insert(phoneUri, values);
+
+ //Add Email
+ emailUri = Uri.withAppendedPath(uri, ContactMethods.CONTENT_DIRECTORY);
+
+ values.clear();
+ values.put(ContactMethods.KIND, Contacts.KIND_EMAIL);
+ values.put(ContactMethods.DATA, email);
+ values.put(ContactMethods.LABEL, "");
+ values.put(ContactMethods.TYPE, emailType);
+ mActivity.getContentResolver().insert(emailUri, values);
+}
+
+
+ public void testAddSaveSingleContact(){
+ int previousCount = mActivity.getListView().getCount();
+ String message;
+
+ addNewContact(INPUT_NAME_1 + "1", "5435754532", "1" + INPUT_EMAIL_1, CONFIRM_OPTION);
+
+ message = "Added 1 to initial length=" + previousCount + ", but resulted with a count=" +
+ mActivity.getListView().getCount();
+ assertEquals(message, ++previousCount, mActivity.getListView().getCount());
+
+ // Check Content; Name; Num; Starred
+ assertEquals(INPUT_NAME_1 + "1", getTextFromView(0, android.R.id.text1));
+ assertEquals("5435754532", getTextFromView(0, android.R.id.text2));
+
+ //Check email is saved
+ //cursor = returnEmailCursorAtId("1");
+ Uri uri = Uri.parse("content://contacts/people/1");
+ uri = Uri.withAppendedPath(uri, ContactMethods.CONTENT_DIRECTORY);
+ Cursor cursor = mActivity.getContentResolver().query(uri, CONTACTS_COLUMNS, null, null, null);
+ assertTrue("returnEmailCursorAtId: Moving cursor to first row has failed", cursor.first());
+
+ int dataIndex = cursor.getColumnIndexOrThrow("data");
+ assertEquals("1" + INPUT_EMAIL_1, cursor.getString(dataIndex));
+ cursor.deactivate();
+}
+ </pre>
+
+
+<a name="androidInstrumentationFrameworkTroubleshooting"></a><h2>Troubleshooting</h2>
+
+<p>If you run your test cases and nothing appears to happen, have a look at <code>adb logcat</code>. The following is a common problem:</p>
+<pre class="prettify">
+I/dalvikvm( 688): threadid=11: attached from native, name=Binder Thread #1
+I/dalvikvm( 688): threadid=13: attached from native, name=Binder Thread #2
+W/ActivityManager( 469): Unable to find instrumentation info for: ComponentInfo{com.google.android.browser_instrumentation/com.google.android.browser_instrumentation.BrowserWebkitLayoutInstrumentation}
+D/AndroidRuntime( 688): Shutting down VM
+E/AndroidRuntime( 688): ERROR: thread attach failed
+</pre>
+<p>It's possible that the instrumentation apk isn't installed on your device or that the package name is incorrect in the Manifest file. </p>
+
diff --git a/pdk/docs/instrumentation_testing.html b/pdk/docs/instrumentation_testing.jd
similarity index 76%
rename from pdk/docs/instrumentation_testing.html
rename to pdk/docs/instrumentation_testing.jd
index 931fd77..c0248ae 100755
--- a/pdk/docs/instrumentation_testing.html
+++ b/pdk/docs/instrumentation_testing.jd
@@ -1,180 +1,5 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20instrumentation_framework.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidTitleInstrumentationFramework"></a><h1>Instrumentation Testing</h1>
-
-
+page.title=Instrumentation Testing
+@jd:body
<a name="toc"/>
<div style="padding:10px">
@@ -204,7 +29,7 @@
<a href="#androidInstrumentationTestingCreatingTestCase">New InstrumentationTestCase</a><br/>
<a href="#androidInstrumentationFrameworkTestCase">Exploring a Test Case</a><br/>
<a href="#androidTestingKindsofTests">Deciding Kinds of Tests to Write</a><br/></div>
-<a href="#androidInstrumentationFrameworkTroubleshooting">Troubleshooting</a><br/></div></font></div>
+<a href="#androidInstrumentationFrameworkTroubleshooting">Troubleshooting</a><br/></div>
<a name="androidInstrumentationFrameworkIntro"></a><h2>Introduction</h2>
@@ -687,33 +512,3 @@
</pre>
<p>It's possible that the instrumentation apk isn't installed on your device or that the package name is incorrect in the Manifest file. </p>
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/intro_source_code.html b/pdk/docs/intro_source_code.html
deleted file mode 100755
index f86b568..0000000
--- a/pdk/docs/intro_source_code.html
+++ /dev/null
@@ -1,378 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20index.html%20v0.5%20-%2025%20September%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="source_setup_guide.html">Host System Setup</a></li>
-
- <li><a href="getting_source_code.html">Getting Source Code</a></li>
- <li> <a href="intro_source_code.html">Source Code Overview</a></li>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio Subsystem</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidIntroSourceCodeTitle"></a><h1>Source Code Overview</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidSourceCodeDirectories">Introduction</a><br/>
-<a href="#Android_Source">Android Source</a><br/><div style="padding-left:40px">
-
-<a href="#androidSourceCodeDirectoriesKernel">Linux Kernel</a><br/>
-<a href="#androidSourceCodeDirectoriesDevice">Android Platform and Applications</a><br/></div>
-<a href="#androidSourceGuidelines">Adding Source Code</a><br/></div></font></div>
-
-<a name="androidSourceCodeDirectories"></a><h2>Introduction</h2>
-
-<p>Android source code is maintained in two code bases: the Android Linux kernel (<code>kernel</code> directory) and Android platform and applications (<code>device</code> directory). This document provides a high-level introduction to the source code organization and an overview of the major components of each primary directory.</p>
-
-<a name="Android_Source"></a><h2>Android Source</h2>
-
-
-<a name="androidSourceCodeDirectoriesKernel"></a><h3>Linux Kernel</h3>
-
-<p>The Android Linux kernel includes enhancements to the Linux 2.6 kernel that provide additional drivers to support the Android platform, including:</p>
-<ul>
- <li>Binder: an OpenBinder-based driver to facilitate inter-process communication (IPC) in the Android platform.</li>
- <li>Android Power Management: a light weight power management driver built on top of standard Linux power management but optimized for embedded systems.</li>
- <li>Low Memory Killer: Based on hints from the userspace, the low memory killer can kill off processes to free up memory as necessary. It is designed to provide more flexibility than the Out Of Memory (OOM) killer in the standard kernel.</li>
- <li>Logger: A light weight logging device used to capture system, radio, logdata, etc.</li>
- <li>USB Gadget: Uses the USB function framework.</li>
- <li>Android/PMEM: The PMEM (physical memory) driver is used to provide contiguous physical memory regions to userspace libraries that interact with the digital signal processor (DSP) and other hardware that cannot cope with scatter-gather.</li>
- <li>Android Alarm: A driver which provides timers that can wake the device up from sleep and a monotonic timebase that runs while the device is asleep.</li>
-</ul>
-<p>Look for Android-specific enhancements in the following directories:</p>
-<p><ul>
-<li><code>/drivers/android</code></li>
-<li><code>/drivers/misc</code></li>
-<li><code>/include/linux</code></li>
-</ul>
-</p>
-
-
-<a name="androidSourceCodeDirectoriesDevice"></a><h3>Android Platform and Applications</h3>
-
-<p>The following list outlines the directory structure found within the <code>device</code> branch of Android source code:</p>
-
-
-<p><span class="lh2"><a name="gmapiMobileTagsListStart"></a></span>
-
-<ul>
-
-
-<li>apps
-Core Android applications such as Phone, Camera, and Calendar.
-</li>
-
-
-<li>boot
-Reference Android bootloader and other boot-related source code.
-</li>
-
-
-<li>commands
-Common Android commands, the most important of which is the runtime command, which does much of the initialization of the system.
-</li>
-
-
-<li>config
-System-wide makefiles and linker scripts.
-</li>
-
-
-<li>content
-Standard Android ContentProvider modules.
-</li>
-
-
-<li>dalvik
-Android runtime Virtual Machine (VM).
-</li>
-
-
-<li>data
-Fonts, keymaps, sounds, timezone information, etc.
-</li>
-
-
-<li>docs
-Full set of Android documentation.
-</li>
-
-
-<li>extlibs
-Non-Android libraries. This directory is intended to host unmodified external code. None of the libraries included within this directory rely on Android headers or libraries.
-</li>
-
-
-<li>ide
-Tools for support of the IDE's used to write Android applications.
-</li>
-
-
-<li>include
-Android system headers for inclusion.
-</li>
-
-
-<li>java
-Android core APIs, as well as some external libraries.
-</li>
-
-
-<li>libs
-Android-specific C++ based libraries.
-</li>
-
-
-<li>partner
-Project-specific source code for various proprietary components.
-</li>
-
-
-<li>prebuilt
-Prebuilt tools, like the toolchains and emulator binary.
-</li>
-
-
-<li>product
-Device-specific configuration files. This directory will include a subdirectory for each new device.
-</li>
-
-
-<li>samples
-Sample applications.
-</li>
-
-
-<li>servers
-C++ based system servers.
-</li>
-
-
-<li>system
-Core of the embedded Linux platform at the heart of Android. These essential bits are required for basic booting, operation, and debugging.
-</li>
-
-
-<li>tests
-Platform and application test cases.
-</li>
-
-
-<li>tools
-Tools for building and debugging Android (of particular interest for porting are "adb" and "emulator").
-</li>
-
-
-
-<p><span class="lh2"><a name="gmapiMobileTagsListEnd"></a></span>
-
-</ul>
-
-
-<a name="androidSourceGuidelines"></a><h2>Adding Source Code</h2>
-
-<p>You can develop Android applications with the same standard tools you use to develop any Java application. The Android core libraries provide the functionality needed to build rich mobile applications and the Android development tools are designed to simplify running, debugging, and testing your applications.</p>
-
-<p>Add project-specific source code to the Android source tree under the <code>partner</code> directory in a directory specific to the application or service you are building. For example, all Google-specific applications would be placed under <code>device/partner/google/</code>. A Google search application would be placed under <code>device/partner/google/apps/Search</code>.
-<p>See <a href="build_new_device.html">Building Android for a new Mobile Device</a> for detailed instructions.</p>
-
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.5 - 25 September 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/intro_source_code.jd b/pdk/docs/intro_source_code.jd
new file mode 100755
index 0000000..100f3ee
--- /dev/null
+++ b/pdk/docs/intro_source_code.jd
@@ -0,0 +1,169 @@
+page.title=Source Code Overview
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidSourceCodeDirectories">Introduction</a><br/>
+<a href="#Android_Source">Android Source</a><br/><div style="padding-left:40px">
+
+<a href="#androidSourceCodeDirectoriesKernel">Linux Kernel</a><br/>
+<a href="#androidSourceCodeDirectoriesDevice">Android Platform and Applications</a><br/></div>
+<a href="#androidSourceGuidelines">Adding Source Code</a><br/></div>
+
+<a name="androidSourceCodeDirectories"></a><h2>Introduction</h2>
+
+<p>Android source code is maintained in two code bases: the Android Linux kernel (<code>kernel</code> directory) and Android platform and applications (<code>device</code> directory). This document provides a high-level introduction to the source code organization and an overview of the major components of each primary directory.</p>
+
+<a name="Android_Source"></a><h2>Android Source</h2>
+
+
+<a name="androidSourceCodeDirectoriesKernel"></a><h3>Linux Kernel</h3>
+
+<p>The Android Linux kernel includes enhancements to the Linux 2.6 kernel that provide additional drivers to support the Android platform, including:</p>
+<ul>
+ <li>Binder: an OpenBinder-based driver to facilitate inter-process communication (IPC) in the Android platform.</li>
+ <li>Android Power Management: a light weight power management driver built on top of standard Linux power management but optimized for embedded systems.</li>
+ <li>Low Memory Killer: Based on hints from the userspace, the low memory killer can kill off processes to free up memory as necessary. It is designed to provide more flexibility than the Out Of Memory (OOM) killer in the standard kernel.</li>
+ <li>Logger: A light weight logging device used to capture system, radio, logdata, etc.</li>
+ <li>USB Gadget: Uses the USB function framework.</li>
+ <li>Android/PMEM: The PMEM (physical memory) driver is used to provide contiguous physical memory regions to userspace libraries that interact with the digital signal processor (DSP) and other hardware that cannot cope with scatter-gather.</li>
+ <li>Android Alarm: A driver which provides timers that can wake the device up from sleep and a monotonic timebase that runs while the device is asleep.</li>
+</ul>
+<p>Look for Android-specific enhancements in the following directories:</p>
+<p><ul>
+<li><code>/drivers/android</code></li>
+<li><code>/drivers/misc</code></li>
+<li><code>/include/linux</code></li>
+</ul>
+</p>
+
+
+<a name="androidSourceCodeDirectoriesDevice"></a><h3>Android Platform and Applications</h3>
+
+<p>The following list outlines the directory structure found within the <code>device</code> branch of Android source code:</p>
+
+
+<p><span class="lh2"><a name="gmapiMobileTagsListStart"></a></span>
+
+<ul>
+
+
+<li>apps
+Core Android applications such as Phone, Camera, and Calendar.
+</li>
+
+
+<li>boot
+Reference Android bootloader and other boot-related source code.
+</li>
+
+
+<li>commands
+Common Android commands, the most important of which is the runtime command, which does much of the initialization of the system.
+</li>
+
+
+<li>config
+System-wide makefiles and linker scripts.
+</li>
+
+
+<li>content
+Standard Android ContentProvider modules.
+</li>
+
+
+<li>dalvik
+Android runtime Virtual Machine (VM).
+</li>
+
+
+<li>data
+Fonts, keymaps, sounds, timezone information, etc.
+</li>
+
+
+<li>docs
+Full set of Android documentation.
+</li>
+
+
+<li>extlibs
+Non-Android libraries. This directory is intended to host unmodified external code. None of the libraries included within this directory rely on Android headers or libraries.
+</li>
+
+
+<li>ide
+Tools for support of the IDE's used to write Android applications.
+</li>
+
+
+<li>include
+Android system headers for inclusion.
+</li>
+
+
+<li>java
+Android core APIs, as well as some external libraries.
+</li>
+
+
+<li>libs
+Android-specific C++ based libraries.
+</li>
+
+
+<li>partner
+Project-specific source code for various proprietary components.
+</li>
+
+
+<li>prebuilt
+Prebuilt tools, like the toolchains and emulator binary.
+</li>
+
+
+<li>product
+Device-specific configuration files. This directory will include a subdirectory for each new device.
+</li>
+
+
+<li>samples
+Sample applications.
+</li>
+
+
+<li>servers
+C++ based system servers.
+</li>
+
+
+<li>system
+Core of the embedded Linux platform at the heart of Android. These essential bits are required for basic booting, operation, and debugging.
+</li>
+
+
+<li>tests
+Platform and application test cases.
+</li>
+
+
+<li>tools
+Tools for building and debugging Android (of particular interest for porting are "adb" and "emulator").
+</li>
+
+
+
+<p><span class="lh2"><a name="gmapiMobileTagsListEnd"></a></span>
+
+</ul>
+
+
+<a name="androidSourceGuidelines"></a><h2>Adding Source Code</h2>
+
+<p>You can develop Android applications with the same standard tools you use to develop any Java application. The Android core libraries provide the functionality needed to build rich mobile applications and the Android development tools are designed to simplify running, debugging, and testing your applications.</p>
+
+<p>Add project-specific source code to the Android source tree under the <code>partner</code> directory in a directory specific to the application or service you are building. For example, all Google-specific applications would be placed under <code>device/partner/google/</code>. A Google search application would be placed under <code>device/partner/google/apps/Search</code>.
+<p>See <a href="build_new_device.html">Building Android for a new Mobile Device</a> for detailed instructions.</p>
+
+
diff --git a/pdk/docs/keymaps_keyboard_input.html b/pdk/docs/keymaps_keyboard_input.jd
similarity index 71%
rename from pdk/docs/keymaps_keyboard_input.html
rename to pdk/docs/keymaps_keyboard_input.jd
index 9a1a66a..d52a73f 100755
--- a/pdk/docs/keymaps_keyboard_input.html
+++ b/pdk/docs/keymaps_keyboard_input.jd
@@ -1,180 +1,5 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20eymaps_keyboard_input.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidKeymapTitle"></a><h1>Keymaps and Keyboard Input</h1>
-
-
+page.title=Keymaps and Keyboard Input
+@jd:body
<a name="toc"/>
<div style="padding:10px">
@@ -192,7 +17,7 @@
<a href="#androidKeymapKeyCharMapExample">Example of a Key Character Map File</a><br/>
<a href="#androidKeymapKeyCharMapResourceBinaryFileFormat">Resource Binary File Format</a><br/></div>
<a href="#androidKeymapDriverTemplate">Implementing Your Own Driver (Driver Template)</a><br/>
-<a href="#androidKeymapKeyCharMapSampleImplementation">Sample Implementation</a><br/></div></font></div>
+<a href="#androidKeymapKeyCharMapSampleImplementation">Sample Implementation</a><br/></div>
<a name="androidKeymapIntro"></a><h2>Introduction</h2>
@@ -682,32 +507,3 @@
<p>The snippet above contains artificial line breaks to maintain a print-friendly document.</p>
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/power_management.html b/pdk/docs/power_management.html
deleted file mode 100755
index eb510dd..0000000
--- a/pdk/docs/power_management.html
+++ /dev/null
@@ -1,311 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20power_management.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidPowerTitle"></a><h1>Power Management</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidPowerIntro">Introduction</a><br/>
-<a href="#androidPowerWakeLocks">Wake Locks</a><br/><div style="padding-left:40px">
-
-<a href="#androidPowerWakeLocksDefinitions">Types of Wake Locks</a><br/>
-<a href="#androidPowerWakeLockExample">Exploring a Wake Lock Example</a><br/></div>
-<a href="#androidPowerPowerManagerClass">PowerManager class</a><br/>
-<a href="#androidPowerKernelRegistration">Registering Drivers with the PM Driver</a><br/></div></font></div>
-
-<a name="androidPowerIntro"></a><h2>Introduction</h2>
-
-<p>Android supports its own Power Management (on top of the standard Linux Power Management) designed with the premise that the CPU shouldn't consume power if no applications or services require power. For more information regarding standard Linux power management, please see <a href="http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.24.y.git;a=blob;f=Documentation/pm.txt">Linux Power Management Support</a> at <a href="http://kernel.org">http://kernel.org</a>.</p>
-<p>Android requires that applications and services request CPU resources with "wake locks" through the Android application framework and native Linux libraries. If there are no active wake locks, Android will shut down the CPU. </p>
-<p>The image below illustrates the Android power management architecture. </p>
-<p><img src='androidPMArchitecture.gif'></p>
-
-Solid elements represent Android blocks and dashed elements represent partner-specific blocks.
-
-
-
-<a name="androidPowerWakeLocks"></a><h2>Wake Locks</h2>
-
-<p>Wake locks are used by applications and services to request CPU resources.</p>
-
-
-<a name="androidPowerWakeLocksDefinitions"></a><h3>Types of Wake Locks</h3>
-
-<table border=1 cellpadding=2 cellspacing=0>
- <tbody><tr>
- <th scope="col">Wake Lock </th>
- <th scope="col">Description</th>
- </tr>
- <tr>
- <td>ACQUIRE_CAUSES_WAKEUP<br/></td>
- <td>Normally wake locks don't actually wake the device, they just cause it to remain on once it's already on. Think of the video player app as the normal behavior. Notifications that pop up and want the device to be on are the exception; use this flag to be like them.</td>
- </tr>
- <tr>
- <td>FULL_WAKE_LOCK</td>
- <td>Wake lock that ensures that the screen and keyboard are on at full brightness. </td>
- </tr>
- <tr>
- <td>ON_AFTER_RELEASE</td>
- <td>When this wake lock is released, poke the user activity timer so the screen stays on for a little longer.</td>
- </tr>
- <tr>
- <td>PARTIAL_WAKE_LOCK</td>
- <td>Wake lock that ensures that the CPU is running. The screen might not be on.</td>
- </tr>
- <tr>
- <td>SCREEN_BRIGHT_WAKE_LOCK</td>
- <td>Wake lock that ensures that the screen is on at full brightness; the keyboard backlight will be allowed to go off.</td>
- </tr>
- <tr>
- <td>SCREEN_DIM_WAKE_LOCK</td>
- <td>Wake lock that ensures that the screen is on, but the keyboard backlight will be allowed to go off, and the screen backlight will be allowed to go dim.</td>
- </tr>
-</table>
-
-
-<a name="androidPowerWakeLockExample"></a><h3>Exploring a Wake Lock Example</h3>
-
-<p>All power management calls follow the same basic format:</p>
-<p><ol><li>Acquire handle to the <code>PowerManager</code> service.</li>
-<li>Create a wake lock and specify the power management flags for screen, timeout, etc.</li>
-<li>Acquire wake lock.</li>
-<li>Perform operation (play MP3, open HTML page, etc.).</li>
-<li>Release wake lock.</li>
-</ol>
-</p>
-<p>The snippet below illustrates this process.</p>
-<pre class="prettify">
-PowerManager pm = (PowerManager)mContext.getSystemService(
- Context.POWER_SERVICE);
-PowerManager.WakeLock wl = pm.newWakeLock(
- PowerManager.SCREEN_DIM_WAKE_LOCK
- | PowerManager.ON_AFTER_RELEASE,
- TAG);
-wl.acquire();
- // ...
-wl.release();
-</pre>
-
-
-<a name="androidPowerPowerManagerClass"></a><h2>PowerManager class</h2>
-
-<p>The Android Framework exposes power management to services and applications through the <code>PowerManager</code> class.</p>
-<p>User space native libraries (any hardware function in <code>//device/lib/hardware/</code> meant to serve as supporting libraries for Android runtime) should never call into Android Power Management directly (see the image above). Bypassing the power management policy in the Android runtime will destabilize the system.</p>
-<p>All calls into Power Management should go through the Android runtime PowerManager APIs.</p>
-<p> Please visit
-<a href="http://code.google.com/android/reference/android/os/PowerManager.html">http://code.google.com/android/reference/android/os/PowerManager.html</a> for a description of the API and examples.</p>
-
-
-<a name="androidPowerKernelRegistration"></a><h2>Registering Drivers with the PM Driver</h2>
-
-<p>You can register Kernel-level drivers with the Android Power Manager driver so that they're notified immediately before power down or after power up. For example, you might set a display driver to completely power down when a request comes in to power down from the user space (see the Android MSM MDDI display driver for a sample implementation).</p>
-<p>To register drivers with the Android PM driver, implement call-back handlers and register them with the Android PM, as illustrated in the snippet below:</p>
-<pre class="prettify">
-android_register_early_suspend(android_early_suspend_t *handler)
-android_register_early_resume(android_early_resume_t *handler)
-</pre>
-<p>It is critical in a drive to return immediately and not wait for anything to happen in the call back.</p>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/power_management.jd b/pdk/docs/power_management.jd
new file mode 100755
index 0000000..52c23e8
--- /dev/null
+++ b/pdk/docs/power_management.jd
@@ -0,0 +1,108 @@
+page.title=Power Management
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidPowerIntro">Introduction</a><br/>
+<a href="#androidPowerWakeLocks">Wake Locks</a><br/><div style="padding-left:40px">
+
+<a href="#androidPowerWakeLocksDefinitions">Types of Wake Locks</a><br/>
+<a href="#androidPowerWakeLockExample">Exploring a Wake Lock Example</a><br/></div>
+<a href="#androidPowerPowerManagerClass">PowerManager class</a><br/>
+<a href="#androidPowerKernelRegistration">Registering Drivers with the PM Driver</a><br/></div>
+
+<a name="androidPowerIntro"></a><h2>Introduction</h2>
+
+<p>Android supports its own Power Management (on top of the standard Linux Power Management) designed with the premise that the CPU shouldn't consume power if no applications or services require power. For more information regarding standard Linux power management, please see <a href="http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.24.y.git;a=blob;f=Documentation/pm.txt">Linux Power Management Support</a> at <a href="http://kernel.org">http://kernel.org</a>.</p>
+<p>Android requires that applications and services request CPU resources with "wake locks" through the Android application framework and native Linux libraries. If there are no active wake locks, Android will shut down the CPU. </p>
+<p>The image below illustrates the Android power management architecture. </p>
+<p><img src='androidPMArchitecture.gif'></p>
+
+<p>Solid elements represent Android blocks and dashed elements represent partner-specific blocks.</p>
+
+
+
+<a name="androidPowerWakeLocks"></a><h2>Wake Locks</h2>
+
+<p>Wake locks are used by applications and services to request CPU resources.</p>
+
+
+<a name="androidPowerWakeLocksDefinitions"></a><h3>Types of Wake Locks</h3>
+
+<table border=1 cellpadding=2 cellspacing=0>
+ <tbody><tr>
+ <th scope="col">Wake Lock </th>
+ <th scope="col">Description</th>
+ </tr>
+ <tr>
+ <td>ACQUIRE_CAUSES_WAKEUP<br/></td>
+ <td>Normally wake locks don't actually wake the device, they just cause it to remain on once it's already on. Think of the video player app as the normal behavior. Notifications that pop up and want the device to be on are the exception; use this flag to be like them.</td>
+ </tr>
+ <tr>
+ <td>FULL_WAKE_LOCK</td>
+ <td>Wake lock that ensures that the screen and keyboard are on at full brightness. </td>
+ </tr>
+ <tr>
+ <td>ON_AFTER_RELEASE</td>
+ <td>When this wake lock is released, poke the user activity timer so the screen stays on for a little longer.</td>
+ </tr>
+ <tr>
+ <td>PARTIAL_WAKE_LOCK</td>
+ <td>Wake lock that ensures that the CPU is running. The screen might not be on.</td>
+ </tr>
+ <tr>
+ <td>SCREEN_BRIGHT_WAKE_LOCK</td>
+ <td>Wake lock that ensures that the screen is on at full brightness; the keyboard backlight will be allowed to go off.</td>
+ </tr>
+ <tr>
+ <td>SCREEN_DIM_WAKE_LOCK</td>
+ <td>Wake lock that ensures that the screen is on, but the keyboard backlight will be allowed to go off, and the screen backlight will be allowed to go dim.</td>
+ </tr>
+</table>
+
+
+<a name="androidPowerWakeLockExample"></a><h3>Exploring a Wake Lock Example</h3>
+
+<p>All power management calls follow the same basic format:</p>
+<p><ol><li>Acquire handle to the <code>PowerManager</code> service.</li>
+<li>Create a wake lock and specify the power management flags for screen, timeout, etc.</li>
+<li>Acquire wake lock.</li>
+<li>Perform operation (play MP3, open HTML page, etc.).</li>
+<li>Release wake lock.</li>
+</ol>
+</p>
+<p>The snippet below illustrates this process.</p>
+<pre class="prettify">
+PowerManager pm = (PowerManager)mContext.getSystemService(
+ Context.POWER_SERVICE);
+PowerManager.WakeLock wl = pm.newWakeLock(
+ PowerManager.SCREEN_DIM_WAKE_LOCK
+ | PowerManager.ON_AFTER_RELEASE,
+ TAG);
+wl.acquire();
+ // ...
+wl.release();
+</pre>
+
+
+<a name="androidPowerPowerManagerClass"></a><h2>PowerManager class</h2>
+
+<p>The Android Framework exposes power management to services and applications through the <code>PowerManager</code> class.</p>
+<p>User space native libraries (any hardware function in <code>//device/lib/hardware/</code> meant to serve as supporting libraries for Android runtime) should never call into Android Power Management directly (see the image above). Bypassing the power management policy in the Android runtime will destabilize the system.</p>
+<p>All calls into Power Management should go through the Android runtime PowerManager APIs.</p>
+<p> Please visit
+<a href="http://code.google.com/android/reference/android/os/PowerManager.html">http://code.google.com/android/reference/android/os/PowerManager.html</a> for a description of the API and examples.</p>
+
+
+<a name="androidPowerKernelRegistration"></a><h2>Registering Drivers with the PM Driver</h2>
+
+<p>You can register Kernel-level drivers with the Android Power Manager driver so that they're notified immediately before power down or after power up. For example, you might set a display driver to completely power down when a request comes in to power down from the user space (see the Android MSM MDDI display driver for a sample implementation).</p>
+<p>To register drivers with the Android PM driver, implement call-back handlers and register them with the Android PM, as illustrated in the snippet below:</p>
+<pre class="prettify">
+android_register_early_suspend(android_early_suspend_t *handler)
+android_register_early_resume(android_early_resume_t *handler)
+</pre>
+<p>It is critical in a drive to return immediately and not wait for anything to happen in the call back.</p>
+
+
+
diff --git a/pdk/docs/source_setup_guide.html b/pdk/docs/source_setup_guide.html
deleted file mode 100755
index 1588b29..0000000
--- a/pdk/docs/source_setup_guide.html
+++ /dev/null
@@ -1,323 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20index.html%20v0.5%20-%2025%20September%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="source_setup_guide.html">Host System Setup</a></li>
-
- <li><a href="getting_source_code.html">Getting Source Code</a></li>
- <li> <a href="intro_source_code.html">Source Code Overview</a></li>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio Subsystem</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidSourceAccessSetupGuideTitle"></a><h1>Host System Setup</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidSourceSetupIntro">Introduction</a><br/>
-<a href="#androidSourceSetupBuildSystemSetupPackages">Installing Packages</a><br/><div style="padding-left:40px">
-
-<a href="#androidSourceSetupBuildSystemSetupRequiredPackages">Required Packages</a><br/>
-<a href="#androidSourceSetupUbuntu606Intro">Ubuntu 6.06 (Dapper)</a><br/>
-<a href="#androidSourceSetupUbuntu710Intro">Ubuntu 7.10</a><br/>
-<a href="#androidSourceSetupUbuntu804Intro">Ubuntu 8.04</a><br/></div>
-<a href="#androidSourceSetupBuildSystemSetupJavaIntro">Installing Java</a><br/></div></font></div>
-
-<a name="androidSourceSetupIntro"></a><h2>Introduction</h2>
-
-<p>This section provides instructions on how to configure your host system to build Android for mobile devices. While Android is designed as host-environment agnostic, it has been tested and is known to work on the following Linux operating system; Ubuntu 6.06 (Dapper), 7.10 (Gutsy), and 8.04. Cygwin is not recommended. </p>
-
-
-<a name="androidSourceSetupBuildSystemSetupPackages"></a><h2>Installing Packages</h2>
-
-
-
-<a name="androidSourceSetupBuildSystemSetupRequiredPackages"></a><h3>Required Packages</h3>
-
-<p>Android requires the following system packages:</p>
-<p><ul>
-<li>flex: This lexical analyzer generator is used to read a given input file for a description of a scanner to generate.</li>
-<li>bison: This is a general-purpose parser generator.</li>
-<li>gperf: This is a perfect hash function generator.</li>
-<li>libesd0-dev: This enlightened sound daemon (dev files) is used to mix digitized audio streams for playback by a single device.</li>
-<li>libwxgtk2.6-dev: This package provides GUI components and other facilities for many different platforms.</li>
-<li>build-essential: This package contains a list of packages considered fundamental to building Debian packages.</li>
-</ul></p>
-
-
-<a name="androidSourceSetupUbuntu606Intro"></a><h3>Ubuntu 6.06 (Dapper)</h3>
-
-<p>On a clean Dapper system, type the following:</p>
-<pre class="prettyprint">
-% sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev
- build-essential
-</pre>
-<p>This snippet includes an artificial line break to maintain a print-friendly document.</p>
-
-
-<a name="androidSourceSetupUbuntu710Intro"></a><h3>Ubuntu 7.10</h3>
-
-<ol><li>The libwxgtk2.6-dev package will only work if the following code is included in your /etc/apt/source file.
-<p><pre class="prettyprint">
-## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
-## team, and may not be under a free license. Please satisfy yourself as to
-## your rights to use the software. Also, please note that software in
-## universe WILL NOT receive any review or updates from the Ubuntu security
-## team.
-# Line commented out by installer because it failed to verify:
-deb http://us.archive.ubuntu.com/ubuntu/ gutsy universe
-# Line commented out by installer because it failed to verify:
-deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy universe
-# Line commented out by installer because it failed to verify:
-deb http://us.archive.ubuntu.com/ubuntu/ gutsy-updates universe
-# Line commented out by installer because it failed to verify:
-deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy-updates universe
-</pre></p></li>
-<li>Install required packages with the following command:
-<p><pre class="prettyprint">
-% sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev
- build-essential
-</pre></p>
-This snippet includes an artificial line break to maintain a print-friendly document.
-</li>
-<li>
-<p>Install the X11 development environment with the following commands:</p>
-<p><pre class="prettyprint">
-% sudo apt-get install x-dev
-% sudo apt-get install libx11-dev
-% sudo apt-get install libncurses5-dev
-</pre></p>
-</li>
-</ol>
-
-
-<a name="androidSourceSetupUbuntu804Intro"></a><h3>Ubuntu 8.04</h3>
-
-<p>On a clean system, type the following:</p>
-<pre class="prettify">
-% sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev
-zlib1g-dev build-essential
-% sudo apt-get install x-dev
-% sudo apt-get install libx11-dev
-% sudo apt-get install libncurses5-dev
-% sudo apt-get install sun-java5-jdk
-</pre>
-
-
-<a name="androidSourceSetupBuildSystemSetupJavaIntro"></a><h2>Installing Java</h2>
-
-<p>Android source code includes a hard dependency on the Java Developer Kit (JDK) 5.0 Update 12 or greater. The specific file name of the Update 12 package is <code>jdk-1_5_0_12-linux-i586.bin</code>. To download this version of the Java JDK:</p>
-<p><ol>
-<li>Navigate to: <a href="http://java.sun.com/products/archive/">http://java.sun.com/products/archive/</a>.</li>
-<li>Select '5.0 Update 12' from the 'Java 2 Platform Standard Edition (J2SE)' -> 'JDK/JRE - 5.0' field and click 'Go.'</li>
-<li>Click 'Download JDK.'</li>
-<li>In the 'Linux Platform' section, click 'Linux self-extracting file' associated with the jdk-1_5_0_12-linux-i586.bin package.</li>
-<li>Follow the installation instructions.</li>
-</ol>
-</p>
-
-<p>Once you have cleanly installed the JDK, modify your PATH environment variable to include <code><jdk-install-dir>/jdk1.5.0_12/bin</code> at its beginning so that Dapper will use the correct installation. </p>
-<p><b>Ubuntu 7.10</b></p>
-<p>An alternative method to quickly install Java is to enable multiverse repo in <code>/etc/apt/sources.list</code> and then execute:</p>
-<pre class="prettyprint">
-% sudo apt-get install sun-java5-jdk
-</pre>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.5 - 25 September 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/source_setup_guide.jd b/pdk/docs/source_setup_guide.jd
new file mode 100755
index 0000000..5c0bed5
--- /dev/null
+++ b/pdk/docs/source_setup_guide.jd
@@ -0,0 +1,116 @@
+page.title=Host System Setup
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidSourceSetupIntro">Introduction</a><br/>
+<a href="#androidSourceSetupBuildSystemSetupPackages">Installing Packages</a><br/><div style="padding-left:40px">
+
+<a href="#androidSourceSetupBuildSystemSetupRequiredPackages">Required Packages</a><br/>
+<a href="#androidSourceSetupUbuntu606Intro">Ubuntu 6.06 (Dapper)</a><br/>
+<a href="#androidSourceSetupUbuntu710Intro">Ubuntu 7.10</a><br/>
+<a href="#androidSourceSetupUbuntu804Intro">Ubuntu 8.04</a><br/></div>
+<a href="#androidSourceSetupBuildSystemSetupJavaIntro">Installing Java</a><br/></div>
+
+<a name="androidSourceSetupIntro"></a><h2>Introduction</h2>
+
+<p>This section provides instructions on how to configure your host system to build Android for mobile devices. While Android is designed as host-environment agnostic, it has been tested and is known to work on the following Linux operating system; Ubuntu 6.06 (Dapper), 7.10 (Gutsy), and 8.04. Cygwin is not recommended. </p>
+
+
+<a name="androidSourceSetupBuildSystemSetupPackages"></a><h2>Installing Packages</h2>
+
+
+
+<a name="androidSourceSetupBuildSystemSetupRequiredPackages"></a><h3>Required Packages</h3>
+
+<p>Android requires the following system packages:</p>
+<p><ul>
+<li>flex: This lexical analyzer generator is used to read a given input file for a description of a scanner to generate.</li>
+<li>bison: This is a general-purpose parser generator.</li>
+<li>gperf: This is a perfect hash function generator.</li>
+<li>libesd0-dev: This enlightened sound daemon (dev files) is used to mix digitized audio streams for playback by a single device.</li>
+<li>libwxgtk2.6-dev: This package provides GUI components and other facilities for many different platforms.</li>
+<li>build-essential: This package contains a list of packages considered fundamental to building Debian packages.</li>
+</ul></p>
+
+
+<a name="androidSourceSetupUbuntu606Intro"></a><h3>Ubuntu 6.06 (Dapper)</h3>
+
+<p>On a clean Dapper system, type the following:</p>
+<pre class="prettyprint">
+% sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev
+ build-essential
+</pre>
+<p>This snippet includes an artificial line break to maintain a print-friendly document.</p>
+
+
+<a name="androidSourceSetupUbuntu710Intro"></a><h3>Ubuntu 7.10</h3>
+
+<ol><li>The libwxgtk2.6-dev package will only work if the following code is included in your /etc/apt/source file.
+<p><pre class="prettyprint">
+## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
+## team, and may not be under a free license. Please satisfy yourself as to
+## your rights to use the software. Also, please note that software in
+## universe WILL NOT receive any review or updates from the Ubuntu security
+## team.
+# Line commented out by installer because it failed to verify:
+deb http://us.archive.ubuntu.com/ubuntu/ gutsy universe
+# Line commented out by installer because it failed to verify:
+deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy universe
+# Line commented out by installer because it failed to verify:
+deb http://us.archive.ubuntu.com/ubuntu/ gutsy-updates universe
+# Line commented out by installer because it failed to verify:
+deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy-updates universe
+</pre></p></li>
+<li>Install required packages with the following command:
+<p><pre class="prettyprint">
+% sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev
+ build-essential
+</pre></p>
+This snippet includes an artificial line break to maintain a print-friendly document.
+</li>
+<li>
+<p>Install the X11 development environment with the following commands:</p>
+<p><pre class="prettyprint">
+% sudo apt-get install x-dev
+% sudo apt-get install libx11-dev
+% sudo apt-get install libncurses5-dev
+</pre></p>
+</li>
+</ol>
+
+
+<a name="androidSourceSetupUbuntu804Intro"></a><h3>Ubuntu 8.04</h3>
+
+<p>On a clean system, type the following:</p>
+<pre class="prettify">
+% sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev
+zlib1g-dev build-essential
+% sudo apt-get install x-dev
+% sudo apt-get install libx11-dev
+% sudo apt-get install libncurses5-dev
+% sudo apt-get install sun-java5-jdk
+</pre>
+
+
+<a name="androidSourceSetupBuildSystemSetupJavaIntro"></a><h2>Installing Java</h2>
+
+<p>Android source code includes a hard dependency on the Java Developer Kit (JDK) 5.0 Update 12 or greater. The specific file name of the Update 12 package is <code>jdk-1_5_0_12-linux-i586.bin</code>. To download this version of the Java JDK:</p>
+<p><ol>
+<li>Navigate to: <a href="http://java.sun.com/products/archive/">http://java.sun.com/products/archive/</a>.</li>
+<li>Select '5.0 Update 12' from the 'Java 2 Platform Standard Edition (J2SE)' -> 'JDK/JRE - 5.0' field and click 'Go.'</li>
+<li>Click 'Download JDK.'</li>
+<li>In the 'Linux Platform' section, click 'Linux self-extracting file' associated with the jdk-1_5_0_12-linux-i586.bin package.</li>
+<li>Follow the installation instructions.</li>
+</ol>
+</p>
+
+<p>Once you have cleanly installed the JDK, modify your PATH environment variable to include <code><jdk-install-dir>/jdk1.5.0_12/bin</code> at its beginning so that Dapper will use the correct installation. </p>
+<p><b>Ubuntu 7.10</b></p>
+<p>An alternative method to quickly install Java is to enable multiverse repo in <code>/etc/apt/sources.list</code> and then execute:</p>
+<pre class="prettyprint">
+% sudo apt-get install sun-java5-jdk
+</pre>
+
+
+
diff --git a/pdk/docs/system_requirements.html b/pdk/docs/system_requirements.html
deleted file mode 100755
index 2f236cf..0000000
--- a/pdk/docs/system_requirements.html
+++ /dev/null
@@ -1,262 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20system_requirements.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidOHDPortingDeviceRequirements"></a><h1>Device Requirements</h1>
-
-<p>While Android is designed to support a wide variety of hardware platforms and configurations, this section provides recommended minimum device requirements.</p>
-<table border=1 cellpadding=2 cellspacing=0>
- <tbody><tr>
- <th scope="col">Feature</th>
- <th scope="col">Minimum Requirement</th>
- <th scope="col">Notes</th>
- </tr>
- <tr>
- <td>Chipset</td>
- <td>ARM-based</td>
- <td>For the first release, Android is primarily targeted towards mobile handsets and portions of the platform, such as Dalvik VM graphics processing, currently assume an ARM architecture.</td>
- </tr>
- <tr>
- <td>Memory</td>
- <td>128 MB RAM; 256 MB Flash External</td>
- <td>Android can boot and run in configurations with less memory, but it isn't recommended.</td>
- </tr>
- <tr>
- <td>Storage</td>
- <td>Mini or Micro SD </td>
- <td>Not necessary for basic bring up, but recommended.</td>
- </tr>
- <tr>
- <td>Primary Display </td>
- <td>HVGA required</td>
- <td>The current Android interface targets a touch-based HVGA resolution display with a touch-interface no smaller than 2.8 inches in size. However, smaller displays will suffice for initial porting.</td>
- </tr>
- <tr>
- <td>Navigation Keys </td>
- <td>5-way navigation with 5 application keys, power, camera and volume controls</td>
- <td> </td>
- </tr>
- <tr>
- <td>Camera</td>
- <td>2MP CMOS</td>
- <td>Not required for basic bring up. </td>
- </tr>
- <tr>
- <td>USB</td>
- <td>Standard mini-B USB interface</td>
- <td>Android uses the USB interface for flashing the device system images and debugging a running device.</td>
- </tr>
- <tr>
- <td>Bluetooth</td>
- <td>1.2 or 2.0 </td>
- <td>Not required for initial bring up.</td>
- </tr>
-</tbody>
-</table>
-<p>If available, your Android device can also benefit from the following optional device characteristics:</p>
-<ul>
- <li>QWERTY keyboard</li>
- <li>WiFi</li>
- <li>GPS</li>
-</ul>
-
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/system_requirements.jd b/pdk/docs/system_requirements.jd
new file mode 100755
index 0000000..1b203ea
--- /dev/null
+++ b/pdk/docs/system_requirements.jd
@@ -0,0 +1,63 @@
+page.title=Device Requirements
+pdk.version=1.0
+@jd:body
+
+<p>While Android is designed to support a wide variety of hardware platforms and configurations, this section provides recommended minimum device requirements.</p>
+
+<table border=1 cellpadding=2 cellspacing=0>
+ <tbody><tr>
+ <th scope="col">Feature</th>
+ <th scope="col">Minimum Requirement</th>
+ <th scope="col">Notes</th>
+ </tr>
+ <tr>
+ <td>Chipset</td>
+ <td>ARM-based</td>
+ <td>For the first release, Android is primarily targeted towards mobile handsets and portions of the platform, such as Dalvik VM graphics processing, currently assume an ARM architecture.</td>
+ </tr>
+ <tr>
+ <td>Memory</td>
+ <td>128 MB RAM; 256 MB Flash External</td>
+ <td>Android can boot and run in configurations with less memory, but it isn't recommended.</td>
+ </tr>
+ <tr>
+ <td>Storage</td>
+ <td>Mini or Micro SD </td>
+ <td>Not necessary for basic bring up, but recommended.</td>
+ </tr>
+ <tr>
+ <td>Primary Display </td>
+ <td>HVGA required</td>
+ <td>The current Android interface targets a touch-based HVGA resolution display with a touch-interface no smaller than 2.8 inches in size. However, smaller displays will suffice for initial porting.</td>
+ </tr>
+ <tr>
+ <td>Navigation Keys </td>
+ <td>5-way navigation with 5 application keys, power, camera and volume controls</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>Camera</td>
+ <td>2MP CMOS</td>
+ <td>Not required for basic bring up. </td>
+ </tr>
+ <tr>
+ <td>USB</td>
+ <td>Standard mini-B USB interface</td>
+ <td>Android uses the USB interface for flashing the device system images and debugging a running device.</td>
+ </tr>
+ <tr>
+ <td>Bluetooth</td>
+ <td>1.2 or 2.0 </td>
+ <td>Not required for initial bring up.</td>
+ </tr>
+</tbody>
+</table>
+<p>If available, your Android device can also benefit from the following optional device characteristics:</p>
+<ul>
+ <li>QWERTY keyboard</li>
+ <li>WiFi</li>
+ <li>GPS</li>
+</ul>
+
+
+
diff --git a/pdk/docs/telephony.html b/pdk/docs/telephony.jd
similarity index 61%
rename from pdk/docs/telephony.html
rename to pdk/docs/telephony.jd
index d4826f6..99a12c0 100755
--- a/pdk/docs/telephony.html
+++ b/pdk/docs/telephony.jd
@@ -1,180 +1,5 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20telephony.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidPowerTelephony"></a><h1>Radio Layer Interface</h1>
-
-
+page.title=Radio Layer Interface
+@jd:body
<a name="toc"/>
<div style="padding:10px">
@@ -190,7 +15,7 @@
<a href="#androidTelephonyRILFunctions">RIL Functions</a><br/><div style="padding-left:40px">
<a href="#androidRilFunctionsSolicited">RIL Solicited Command Requests</a><br/>
-<a href="#androidRilFunctionsUnsolicited">RIL Unsolicited Commands</a><br/></div></div></font></div>
+<a href="#androidRilFunctionsUnsolicited">RIL Unsolicited Commands</a><br/></div></div>
<a name="androidTelephonyIntro"></a><h2>Introduction</h2>
@@ -397,33 +222,3 @@
</tr>
</table></p>
-
-<p><span class="lh2"><a name="androidFooter"></a></span>
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/wifi.html b/pdk/docs/wifi.html
deleted file mode 100755
index df40fb0..0000000
--- a/pdk/docs/wifi.html
+++ /dev/null
@@ -1,250 +0,0 @@
-
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-<title>Android - Porting Guide</title>
-<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=internal-codesite" type="text/javascript"></script>
-<script src="http://code.google.com/js/jquery.js" type="text/javascript"></script>
-<script type="text/javascript">var _tocPath_ = 'http://code.google.com/android/_toc.ezt';</script>
-<script src="http://code.google.com/js/codesite.pack.01312008.js" type="text/javascript"></script>
-<script language="JavaScript">
-function resizeHeight() {
- if(document.getElementById && !(document.all)) {
- height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
- document.getElementById('doxygen').style.height = height;
- }
- else if(document.all) {
- height= document.frames('doxygen').document.body.scrollHeight + 20;
- document.all.doxygen.style.height = height;
- }
-}
-</script>
-<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet">
-</link>
-
-<!--[if IE]><link rel="stylesheet" type="text/css" href="/css/iehacks.css" /><![endif]-->
-<script src="http://code.google.com/android/assets/search_autocomplete.js"></script>
-<link rel="stylesheet" type="text/css" href="http://code.google.com/css/semantic_headers.css" />
-<link rel="stylesheet" type="text/css" href="http://code.google.com/android/assets/style.css" />
-<script>
- jQuery(document).ready(function() {
- jQuery("pre").addClass("prettyprint");
- });
- </script>
-<style type="text/css">
-<!--
-h1,h2,h3 {
- color: #000000;
-}
--->
-</style>
-</head>
-<body class="gc-documentation">
-<div id="gc-container">
-<a name="top"></a>
-<div id="skipto"> </div>
-<div id="langpref">
- <!--<a class="dropdown" href="/">English</a> <span>|</span> <a href="/more/">Site Directory</a> -->
-
-</div>
-<div id="gc-header">
- <div id="logo"><a href="http://code.google.com/android/index.html"><img src="http://code.google.com/android/images/logo_android.gif" alt="Android"/></a></div>
- <div id="search" style="inline">
- <div id="searchForm" class="searchForm" style="height: 44px;">
- <!--previously form was here-->
- </div>
- <!-- end searchForm -->
- <noscript>
- <style type="text/css">
- .searchForm {
- display : none !important;
- }
- .searchForm2 {
- display : inline !important;
- }
- </style>
- </noscript>
-
- <div id="searchForm2" class="searchForm2" style="display:none">
- <form id="searchbox_001456098540849067467:6whlsytkdqg" action="http://www.google.com/cse">
- <input type="hidden" name="cx" value="001456098540849067467:6whlsytkdqg" />
- <input type="hidden" name="cof" value="FORID:0" />
- <input type="text" name="q" maxlength="2048" size="41" autocomplete="off" title="Google Code Search"/>
- <input type="submit" name="sa" value="Search" title="Search"/>
- <br/>
- <div class="greytext">e.g. "ajax apis" or "open source"</div>
-
- </form>
- </div>
- <!-- end searchForm2 -->
- </div>
- <!-- end search -->
-</div>
-<!-- end gc-header -->
-<div id="searchControl" class="search-control"></div>
-<!--[if IE]><iframe id="backiFrame" name="backiFrame" src='/dummy.html' style="display:none"></iframe><![endif]-->
-<div id="codesiteContent">
-<a name="gc-topnav-anchor"></a>
-<div id="gc-topnav">
-
- <h1>Android Platform Development Kit</h1>
- <ul class="gc-topnav-tabs">
- <li id="sdk_link"> <a href="http://code.google.com/android/index.html" title="Android Software Development Kit">SDK</a> </li>
- <li id="docs_link"> <a href="index.html" title="Official Android documentation">Docs</a> </li>
- <li id="faq_link"> <a href="http://code.google.com/android/kb/index.html" title="Answers to frequently asked questions about Android">FAQ</a> </li>
-
- <li> <a href="http://android-developers.blogspot.com/" title="Official Android blog">Blog</a> </li>
- <li> <a href="http://code.google.com/android/groups.html" title="Android developer forum">Group</a> </li>
- <li> <a href="http://code.google.com/android/terms.html" title="Android terms of service">Terms</a> </li>
- <li> <a href="mailto:android-pdk-feedback@google.com?subject=PDK%20Feedback&body=(filed%20from:%20wifi.html%20v0.6%20-%2025%20November%202008)%0D%0A%0D%0ASUMMARY:%0D%0A%0D%0A%0D%0A%0D%0ASTEPS%20TO%20REPRODUCE:%0D%0A%0D%0A%0D%0A%0D%0AADDITIONAL%20NOTES:">Report a Problem</a> </li>
-
- </ul>
-</div>
-<!-- end gc-topnav -->
-<div class="g-section g-tpl-180">
-<a name="gc-toc"></a>
-<div class="g-unit g-first" id="gc-toc">
- <ul>
- <li>
- <h1><a href="index.html">Documentation</a></h1>
- <ul>
- <li> <strong>Introduction</strong>
-
- <ul>
- <li><a href="system_requirements.html">Device Requirements</a></li>
- </ul>
- </li>
- <li> <strong>Dev Environment Setup</strong>
- <ul>
- <li><a href="build_system.html">Build System</a></li>
- </ul>
- </li>
- <li> <strong>Basic Bring up</strong>
-
- <ul>
- <li><a href="build_new_device.html">Building New Device</a></li>
- <li><a href="bring_up.html">Bring up</a></li>
- <li><a href="keymaps_keyboard_input.html">Keymaps and Keyboard</a></li>
- <li><a href="display_drivers.html">Display Drivers</a></li>
- </ul>
- </li>
-
- <li> <strong>Multimedia</strong>
- <ul>
- <li><a href="audio_sub_system.html">Audio</a></li>
- <li><a href="camera.html">Camera</a></li>
- </ul>
- </li>
- <li> <strong>Power Management</strong>
-
- <ul>
- <li><a href="power_management.html">Power Management</a></li>
- </ul>
- </li>
-
- <li> <strong>Networking</strong>
- <ul>
- <li><a href="wifi.html">Wi-Fi</a></li>
- <li><a href="gps.html">GPS</a></li>
- <li><a href="bluetooth.html">Bluetooth</a></li>
- </ul>
- </li>
-
- <li> <strong>Telephony</strong>
- <ul>
- <li><a href="telephony.html">Radio Interface Layer</a></li>
-
- </ul>
- </li>
- <li> <strong>Testing</strong>
- <ul>
- <li><a href="instrumentation_testing.html">Instrumentation Testing</a></li>
- </ul>
-
- </li>
- </ul>
- </li>
- </ul>
-</div>
-<a name="gc-pagecontent"></a>
-<div class="g-unit" id="gc-pagecontent">
-<div id="jd-content">
-<div class="jd-descr">
-
-
-<a name="androidWifiTitle"></a><h1>Wi-Fi</h1>
-
-
-
-<a name="toc"/>
-<div style="padding:10px">
-<a href="#androidWifiIntroduction">Introduction</a><br/>
-<a href="#androidWifiBuildingDriver">Building a Wi-Fi Library</a><br/>
-<a href="#androidWifiInterface">Interface</a><br/></div></font></div>
-
-<a name="androidWifiIntroduction"></a><h2>Introduction</h2>
-
-<p>Android uses wpa_supplicant as the platform interface to the Wi-Fi device. Your Wi-Fi driver must be compatible with the standard wpa_supplicant in addition to extensions added to the supplicant (specifically, the "DRIVER" commands described in <code>wifi.h/wifi_command()</code>).</p>
-
-
-<a name="androidWifiBuildingDriver"></a><h2>Building a Wi-Fi Library</h2>
-
-<p>To create a Wi-Fi driver for Android:</p>
-<p><ul>
-<li>create a shared library that implements the interface defined in <code>include/hardware/wifi.h</code>, which also defines the Wi-Fi supplicant.</li>
-<li>Follow the instructions posted at <a href="http://hostap.epitest.fi/wpa_supplicant/">http://hostap.epitest.fi/wpa_supplicant/</a>.</li>
-<li>Place your driver in <code>libs/hardware/wifi/</code></li>
-<li>Test your driver using the command line <code>wpa_cli</code> utilities.</li>
-</ul>
-
-<p>You can find the default implementation in <code>libs/hardware/wifi/wifi.c</code>. If you need to make changes, create a new source file similar to <code>wifi.c</code>, for example, <code>wifi_mywifi.c</code>. </p>
-
-<p>Update the default <code>Android.mk</code> file (<code>libs/hardware/wifi/Android.mk</code>) as shown below.</p>
-<pre class="prettify">
-LOCAL_SHARED_LIBRARIES += libnetutils
-
-ifeq ($(TARGET_DEVICE),acme)
-LOCAL_SRC_FILES += wifi/wifi_mywifi.c
-else
-LOCAL_SRC_FILES += wifi/wifi.c
-endif
-</pre>
-
-
-<a name="androidWifiInterface"></a><h2>Interface</h2>
-
-
-
-<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="wifi.html">click here</a>.</p>
-
-
-<iframe onLoad="resizeHeight();" src="wifi_8h.html" scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
-
-
- </div>
- </div>
- <!-- end gc-pagecontent -->
- </div>
- <!-- end gooey wrapper -->
- </div>
- <!-- end codesearchresults -->
- <div id="gc-footer" dir="ltr">
- <div class="text"> ©2008 Google<!-- - <a href="/">Code Home</a> - <a href="http://www.google.com/accounts/TOS">Site Terms of Service</a> - <a href="http://www.google.com/privacy.html">Privacy Policy</a> - <a href="/more">Site Directory</a> --></div>
- </div>
- <!-- end gc-footer -->
-</div>
-<!-- end gc-containter -->
-<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
-</script>
-<script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-18071-1");
- pageTracker._setAllowAnchor(true);
- pageTracker._initData();
- pageTracker._trackPageview();
- } catch(e) {}
-</script>
-<div id="jd-build-id"> v0.6 - 25 November 2008</div>
-</div></div></div></body>
-</html>
-
diff --git a/pdk/docs/wifi.jd b/pdk/docs/wifi.jd
new file mode 100755
index 0000000..42cb14c
--- /dev/null
+++ b/pdk/docs/wifi.jd
@@ -0,0 +1,49 @@
+page.title=Wi-Fi
+@jd:body
+
+<a name="toc"/>
+<div style="padding:10px">
+<a href="#androidWifiIntroduction">Introduction</a><br/>
+<a href="#androidWifiBuildingDriver">Building a Wi-Fi Library</a><br/>
+<a href="#androidWifiInterface">Interface</a><br/></div>
+
+<a name="androidWifiIntroduction"></a><h2>Introduction</h2>
+
+<p>Android uses wpa_supplicant as the platform interface to the Wi-Fi device. Your Wi-Fi driver must be compatible with the standard wpa_supplicant in addition to extensions added to the supplicant (specifically, the "DRIVER" commands described in <code>wifi.h/wifi_command()</code>).</p>
+
+
+<a name="androidWifiBuildingDriver"></a><h2>Building a Wi-Fi Library</h2>
+
+<p>To create a Wi-Fi driver for Android:</p>
+<p><ul>
+<li>create a shared library that implements the interface defined in <code>include/hardware/wifi.h</code>, which also defines the Wi-Fi supplicant.</li>
+<li>Follow the instructions posted at <a href="http://hostap.epitest.fi/wpa_supplicant/">http://hostap.epitest.fi/wpa_supplicant/</a>.</li>
+<li>Place your driver in <code>libs/hardware/wifi/</code></li>
+<li>Test your driver using the command line <code>wpa_cli</code> utilities.</li>
+</ul>
+
+<p>You can find the default implementation in <code>libs/hardware/wifi/wifi.c</code>. If you need to make changes, create a new source file similar to <code>wifi.c</code>, for example, <code>wifi_mywifi.c</code>. </p>
+
+<p>Update the default <code>Android.mk</code> file (<code>libs/hardware/wifi/Android.mk</code>) as shown below.</p>
+<pre class="prettify">
+LOCAL_SHARED_LIBRARIES += libnetutils
+
+ifeq ($(TARGET_DEVICE),acme)
+LOCAL_SRC_FILES += wifi/wifi_mywifi.c
+else
+LOCAL_SRC_FILES += wifi/wifi.c
+endif
+</pre>
+
+
+<a name="androidWifiInterface"></a><h2>Interface</h2>
+
+
+
+<p class="note"><strong>Note</strong>: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, <a href="wifi.html">click here</a>.</p>
+
+
+<iframe onLoad="resizeDoxFrameHeight();" src="wifi_8h.html" scrolling="no" scroll="no" id="doxygen" marginwidth="0" marginheight="0" frameborder="0" style="width:100%;"></iframe>
+
+
+
diff --git a/pdk/hosting/app.yaml b/pdk/hosting/app.yaml
index 407cbb0..6e08141 100644
--- a/pdk/hosting/app.yaml
+++ b/pdk/hosting/app.yaml
@@ -4,8 +4,8 @@
api_version: 1
handlers:
-- url: /docs
- static_dir: docs
+- url: /online-pdk
+ static_dir: online-pdk
- url: /
script: pdk.py
diff --git a/pdk/hosting/pdk.py b/pdk/hosting/pdk.py
index e88f826..421f195 100644
--- a/pdk/hosting/pdk.py
+++ b/pdk/hosting/pdk.py
@@ -26,11 +26,9 @@
class MainPage(webapp.RequestHandler):
def get(self):
- self.redirect('docs/index.html')
+ self.redirect('online-pdk/index.html')
-application = webapp.WSGIApplication(
- [('/', MainPage)],
- debug=True)
+application = webapp.WSGIApplication([('/', MainPage)], debug=True)
def main():
run_wsgi_app(application)
@@ -38,6 +36,18 @@
if __name__ == "__main__":
main()
+# Testing
+# You must install google appengine. See: http://code.google.com/appengine/downloads.html
+#
+# Here's the command to run the pdk-docs server locally:
+# python <path_to_appengine_installation>/dev_appserver.py --address 0.0.0.0 \
+# <path_to_cupcake_code>/android/out/target/common/docs
+
+# To verify it is working you can access it with a browser loacally on port 8080:
+
+# http://localhost:8080/index.html
+
+
# To upload this application:
# /home/build/static/projects/apphosting/devtools/appcfg.py update pdk/
# where the pdk directory contains: pdk.py, app.yaml, and the docs directory.