diff --git a/current/android.jar b/current/android.jar
index d83202d..f5e4ea2 100644
--- a/current/android.jar
+++ b/current/android.jar
Binary files differ
diff --git a/current/framework.aidl b/current/framework.aidl
index 66bd25d..f9c522e 100644
--- a/current/framework.aidl
+++ b/current/framework.aidl
@@ -41,7 +41,11 @@
 parcelable android.graphics.Rect;
 parcelable android.graphics.Region;
 parcelable android.location.Criteria;
+parcelable android.location.Geofence;
 parcelable android.location.Location;
+parcelable android.location.LocationRequest;
+parcelable com.android.internal.location.ProviderProperties;
+parcelable com.android.internal.location.ProviderRequest;
 parcelable android.telephony.ServiceState;
 interface com.android.internal.telephony.IPhoneSubInfo;
 interface com.android.internal.telephony.ITelephony;
diff --git a/tools/Android.mk b/tools/Android.mk
index ffda6cf..6d47b3d 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -19,7 +19,6 @@
 ifneq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
 
 ##################################
-ifneq ($(TARGET_BUILD_PDK),true)
 include $(CLEAR_VARS)
 
 # We can't simple call $(BUILD_PREBUILT) here, because $(ACP) is not
@@ -34,7 +33,6 @@
 	@echo "Copy: acp ($@)"
 	$(copy-file-to-target-with-cp)
 	$(hide) chmod 755 $@
-endif
 
 ##################################
 include $(CLEAR_VARS)
@@ -76,7 +74,6 @@
 include $(BUILD_PREBUILT)
 
 ##################################
-ifneq ($(TARGET_BUILD_PDK),true)
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := zipalign
@@ -88,7 +85,19 @@
 LOCAL_IS_HOST_MODULE := true
 
 include $(BUILD_PREBUILT)
-endif
+
+##################################
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := signapk
+LOCAL_SRC_FILES := lib/signapk.jar
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_BUILT_MODULE_STEM := signapk$(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_IS_HOST_MODULE := true
+
+include $(BUILD_PREBUILT)
 
 ##################################
 include $(CLEAR_VARS)
@@ -123,4 +132,4 @@
 	$(hide) chmod 755 $@
 
 ##################################
-endif # TARGET_BUILD_APPS
+endif # TARGET_BUILD_APPS or TARGET_BUILD_PDK
diff --git a/tools/lib/androidprefs.jar b/tools/lib/androidprefs.jar
new file mode 100644
index 0000000..30cc1f5
--- /dev/null
+++ b/tools/lib/androidprefs.jar
Binary files differ
diff --git a/tools/lib/asm-4.0.jar b/tools/lib/asm-4.0.jar
new file mode 100644
index 0000000..6d63075
--- /dev/null
+++ b/tools/lib/asm-4.0.jar
Binary files differ
diff --git a/tools/lib/asm-tree-4.0.jar b/tools/lib/asm-tree-4.0.jar
new file mode 100644
index 0000000..aa99d3a
--- /dev/null
+++ b/tools/lib/asm-tree-4.0.jar
Binary files differ
diff --git a/tools/lib/common.jar b/tools/lib/common.jar
new file mode 100644
index 0000000..b037f32
--- /dev/null
+++ b/tools/lib/common.jar
Binary files differ
diff --git a/tools/lib/guava-10.0.1.jar b/tools/lib/guava-10.0.1.jar
new file mode 100644
index 0000000..d107c0f
--- /dev/null
+++ b/tools/lib/guava-10.0.1.jar
Binary files differ
diff --git a/tools/lib/lint.jar b/tools/lib/lint.jar
new file mode 100644
index 0000000..1ed1581
--- /dev/null
+++ b/tools/lib/lint.jar
Binary files differ
diff --git a/tools/lib/lint_api.jar b/tools/lib/lint_api.jar
new file mode 100644
index 0000000..3757ce4
--- /dev/null
+++ b/tools/lib/lint_api.jar
Binary files differ
diff --git a/tools/lib/lint_checks.jar b/tools/lib/lint_checks.jar
new file mode 100644
index 0000000..e59f47f
--- /dev/null
+++ b/tools/lib/lint_checks.jar
Binary files differ
diff --git a/tools/lib/lombok-ast-0.2.jar b/tools/lib/lombok-ast-0.2.jar
new file mode 100644
index 0000000..33c9d6f
--- /dev/null
+++ b/tools/lib/lombok-ast-0.2.jar
Binary files differ
diff --git a/tools/lib/signapk.jar b/tools/lib/signapk.jar
new file mode 100644
index 0000000..da51c61
--- /dev/null
+++ b/tools/lib/signapk.jar
Binary files differ
diff --git a/tools/lint b/tools/lint
new file mode 100755
index 0000000..2b53df6
--- /dev/null
+++ b/tools/lint
@@ -0,0 +1,72 @@
+#!/bin/bash
+# Copyright 2011, The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Set up prog to be the path of this script, including following symlinks,
+# and set up progdir to be the fully-qualified pathname of its directory.
+prog="$0"
+while [ -h "${prog}" ]; do
+    newProg=`/bin/ls -ld "${prog}"`
+    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
+    if expr "x${newProg}" : 'x/' >/dev/null; then
+        prog="${newProg}"
+    else
+        progdir=`dirname "${prog}"`
+        prog="${progdir}/${newProg}"
+    fi
+done
+oldwd=`pwd`
+progdir=`dirname "${prog}"`
+cd "${progdir}"
+progdir=`pwd`
+prog="${progdir}"/`basename "${prog}"`
+cd "${oldwd}"
+
+jarfile=lint.jar
+frameworkdir="$progdir"
+libdir="$progdir"
+if [ ! -r "$frameworkdir/$jarfile" ]
+then
+    frameworkdir=`dirname "$progdir"`/tools/lib
+    libdir=`dirname "$progdir"`/tools/lib
+fi
+if [ ! -r "$frameworkdir/$jarfile" ]
+then
+    frameworkdir=`dirname "$progdir"`/framework
+    libdir=`dirname "$progdir"`/lib
+fi
+if [ ! -r "$frameworkdir/$jarfile" ]
+then
+    echo `basename "$prog"`": can't find $jarfile"
+    exit 1
+fi
+
+# Check args.
+if [ debug = "$1" ]; then
+    # add this in for debugging
+    java_debug=-agentlib:jdwp=transport=dt_socket,server=y,address=8050,suspend=y
+    shift 1
+else
+    java_debug=
+fi
+
+javaCmd="java"
+
+jarpath="$frameworkdir/$jarfile"
+
+exec "$javaCmd" \
+    -Xmx256M $os_opts $java_debug \
+    -Dcom.android.tools.lint.bindir="$progdir" \
+    -classpath "$jarpath" \
+    com.android.tools.lint.Main "$@"
