diff --git a/build/sdk.atree b/build/sdk.atree
index 355fa1a..230cc29 100644
--- a/build/sdk.atree
+++ b/build/sdk.atree
@@ -94,15 +94,15 @@
 development/sdk/sdk.properties               platforms/${PLATFORM_NAME}/sdk.properties
 
 # sdk.git Ant templates for project files
-sdk/templates/AndroidManifest.template        platforms/${PLATFORM_NAME}/templates/AndroidManifest.template
-sdk/templates/AndroidManifest.tests.template  platforms/${PLATFORM_NAME}/templates/AndroidManifest.tests.template
-sdk/templates/java_file.template              platforms/${PLATFORM_NAME}/templates/java_file.template
-sdk/templates/java_tests_file.template        platforms/${PLATFORM_NAME}/templates/java_tests_file.template
-sdk/templates/layout.template                 platforms/${PLATFORM_NAME}/templates/layout.template
-sdk/templates/strings.template                platforms/${PLATFORM_NAME}/templates/strings.template
-sdk/templates/icon_ldpi.png                   platforms/${PLATFORM_NAME}/templates/icon_ldpi.png
-sdk/templates/icon_mdpi.png                   platforms/${PLATFORM_NAME}/templates/icon_mdpi.png
-sdk/templates/icon_hdpi.png                   platforms/${PLATFORM_NAME}/templates/icon_hdpi.png
+development/tools/templates/AndroidManifest.template        platforms/${PLATFORM_NAME}/templates/AndroidManifest.template
+development/tools/templates/AndroidManifest.tests.template  platforms/${PLATFORM_NAME}/templates/AndroidManifest.tests.template
+development/tools/templates/java_file.template              platforms/${PLATFORM_NAME}/templates/java_file.template
+development/tools/templates/java_tests_file.template        platforms/${PLATFORM_NAME}/templates/java_tests_file.template
+development/tools/templates/layout.template                 platforms/${PLATFORM_NAME}/templates/layout.template
+development/tools/templates/strings.template                platforms/${PLATFORM_NAME}/templates/strings.template
+development/tools/templates/ic_launcher_ldpi.png            platforms/${PLATFORM_NAME}/templates/ic_launcher_ldpi.png
+development/tools/templates/ic_launcher_mdpi.png            platforms/${PLATFORM_NAME}/templates/ic_launcher_mdpi.png
+development/tools/templates/ic_launcher_hdpi.png            platforms/${PLATFORM_NAME}/templates/ic_launcher_hdpi.png
 
 # Eclipse Editors support
 framework/layoutlib.jar       platforms/${PLATFORM_NAME}/data/layoutlib.jar
diff --git a/tools/templates/AndroidManifest.template b/tools/templates/AndroidManifest.template
new file mode 100644
index 0000000..4d1e053
--- /dev/null
+++ b/tools/templates/AndroidManifest.template
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+      package="PACKAGE"
+      android:versionCode="1"
+      android:versionName="1.0">
+    <application android:label="@string/app_name" ICON>
+        <activity android:name="ACTIVITY_ENTRY_NAME"
+                  android:label="@string/app_name">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tools/templates/AndroidManifest.tests.template b/tools/templates/AndroidManifest.tests.template
new file mode 100644
index 0000000..c74ff6d
--- /dev/null
+++ b/tools/templates/AndroidManifest.tests.template
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="PACKAGE.tests"
+          android:versionCode="1"
+          android:versionName="1.0">
+    <!-- We add an application tag here just so that we can indicate that
+         this package needs to link against the android.test library,
+         which is needed when building test cases. -->
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+    <!--
+    This declares that this application uses the instrumentation test runner targeting
+    the package of PACKAGE.  To run the tests use the command:
+    "adb shell am instrument -w PACKAGE.tests/android.test.InstrumentationTestRunner"
+    -->
+    <instrumentation android:name="android.test.InstrumentationTestRunner"
+                     android:targetPackage="PACKAGE"
+                     android:label="Tests for PACKAGE"/>
+</manifest>
diff --git a/tools/templates/ic_launcher_hdpi.png b/tools/templates/ic_launcher_hdpi.png
new file mode 100644
index 0000000..8074c4c
--- /dev/null
+++ b/tools/templates/ic_launcher_hdpi.png
Binary files differ
diff --git a/tools/templates/ic_launcher_ldpi.png b/tools/templates/ic_launcher_ldpi.png
new file mode 100644
index 0000000..1095584
--- /dev/null
+++ b/tools/templates/ic_launcher_ldpi.png
Binary files differ
diff --git a/tools/templates/ic_launcher_mdpi.png b/tools/templates/ic_launcher_mdpi.png
new file mode 100644
index 0000000..a07c69f
--- /dev/null
+++ b/tools/templates/ic_launcher_mdpi.png
Binary files differ
diff --git a/tools/templates/java_file.template b/tools/templates/java_file.template
new file mode 100644
index 0000000..19714a8
--- /dev/null
+++ b/tools/templates/java_file.template
@@ -0,0 +1,15 @@
+package PACKAGE;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class ACTIVITY_CLASS_NAME extends Activity
+{
+    /** Called when the activity is first created. */
+    @Override
+    public void onCreate(Bundle savedInstanceState)
+    {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.main);
+    }
+}
diff --git a/tools/templates/java_tests_file.template b/tools/templates/java_tests_file.template
new file mode 100644
index 0000000..08d6f9b
--- /dev/null
+++ b/tools/templates/java_tests_file.template
@@ -0,0 +1,21 @@
+package PACKAGE;
+
+import android.test.ActivityInstrumentationTestCase2;
+
+/**
+ * This is a simple framework for a test of an Application.  See
+ * {@link android.test.ApplicationTestCase ApplicationTestCase} for more information on
+ * how to write and extend Application tests.
+ * <p/>
+ * To run this test, you can type:
+ * adb shell am instrument -w \
+ * -e class ACTIVITY_FQ_NAME \
+ * PACKAGE.tests/android.test.InstrumentationTestRunner
+ */
+public class ACTIVITY_CLASS_NAME extends ActivityInstrumentationTestCase2<ACTIVITY_TESTED_CLASS_NAME> {
+
+    public ACTIVITY_CLASS_NAME() {
+        super("PACKAGE", ACTIVITY_TESTED_CLASS_NAME.class);
+    }
+
+}
\ No newline at end of file
diff --git a/tools/templates/layout.template b/tools/templates/layout.template
new file mode 100644
index 0000000..7d62fbb
--- /dev/null
+++ b/tools/templates/layout.template
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    >
+<TextView
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:text="Hello World, ACTIVITY_ENTRY_NAME"
+    />
+</LinearLayout>
+
diff --git a/tools/templates/strings.template b/tools/templates/strings.template
new file mode 100644
index 0000000..ee5af40
--- /dev/null
+++ b/tools/templates/strings.template
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">ACTIVITY_ENTRY_NAME</string>
+</resources>
