sdk.git

This is the git repository for most java based tools.

Here's a descriptions of each item under the sdk folder.

  • changes.txt
    • change log for the SDK tools.
Java Applications
  • ddms/
    • DDMS application.
    • Split in 3 jar files
      • ddms/libs/ddmlib generates ddmlib.jar
        • This is a library handling communicating with devices through adb
        • This does not contain any UI.
        • Used by several tools outside of DDMS such as HierarchyViewer
      • ddms/libs/ddmuilib generates ddmuilib.jar
        • SWT based UI for ddmlib.
        • Not a fully application only a collection of panes and means to make them communicate with each other.
      • ddms/app generates ddms.jar
        • glue for ddmlib and ddmuilib making a standalone application
        • shell scripts to launch the app.
  • sdkmanager/
    • android application. Both a command line tool and a UI based tool.
    • Split in 3 jar files, like DDMS
      • sdkmanager/libs/sdklib generates sdklib.jar
        • this is the library 
  • traceview/
    • traceview standalone application.
    • SWT based, but not integrated with Eclipse (yet?)
  • hierarchyviewer2/
    • standalone HierarchyViewer
      • hierarchyview2/libs/hierarchyviewerlib generate hierarchyviewerlib.jar
        • This library contains the logic and SWT-based code for hierarchyview but does not make a full app.
      • hierarchyviewer2/app generates hierarchyviewer2.jar
        • app wrapper around hierarchyviewerlib.jar making a standalone application.
        • schell scripts to launch the app.
  • hierarchyviewer/
    • old obsolete version of hierarchyviewer.
  • draw9patch/
    • Standalone tools to edit 9 patch files.
    • Swing based, not integrated with Eclipse (yet?)
  • layoutopt
  • monkeyrunner

Eclipse plug-ins
  • eclipse/
    • Main folder for all Eclipse related projects
    • changes.txt
      • Change log for Eclipse plug-ins
    • dictionary.txt
      • custom user spelling directory to be used when developing for Android tools in Eclipse
    • plugins/
      • folder for all Eclipse plug-ins. Each name is the plug-in id.
    • features/
      • folder for all Eclipse features. Each name is the feature id.
    • sites/
      • Eclipse update site.
      • external/ is the public one.
      • internal/ contains the same as the internal one, plus a test plug-in and one for platform development.
    • scripts/
      • shell scripts to set up eclipse development. See this page.

Java Libraries, used by Java applications and Eclipse plug-ins
  • androidprefs/
    • Small java project generating androidprefs.jar
    • Gives access to the android preferences folder.
    • Used in most tools, packaged in $SDK/tools/libs/
  • anttasks/
    • Custom tasks used in the Ant build system
    • Generates anttasks.jar, packaged in $SDK/tools/libs/
  • apkbuilder/
    • Previous location for apkbuilder.jar
    • Now integrated into sdklib.jar
    • Still contains the shell script to run the command line version of apkbuilder
    • Deprecated.
  • archquery/
    • Small java project generating archquery.jar
    • Allows querying the VM for properties from the command line.
  • ide_common/
    • Library for classes useful when creating IDE based tools.
    • Mostly about loading data from the SDK
    • Useful for custom editors.
  • layoutlib_api/
    • API library for the layoutlib.
    • layoutlib compiles against it but does not include.
    • Any tool loading layoutlib should include it.
  • ninepatch/
    • Library to load, manage nine patch file in Java
    • Needed to load layoutlib.
  • sdkstats/

Misc
  • build
    • tools.atree controlling what gets packaged in $SDK/tools
    • misc build scripts.
  • docs
    • misc docs
  • dumpeventlog
  • emulator
    • emulator specific tools, skins, and system image daemon.
  • eventanalyzer
  • files
    • various files used by the SDK, including Ant build rules
  • screenshot
  • sdklauncher
  • templates
  • testapps