diff --git a/cleanspec.mk b/cleanspec.mk
index 290319c..d0f7a69 100644
--- a/cleanspec.mk
+++ b/cleanspec.mk
@@ -71,6 +71,8 @@
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/libwebcore_intermediates)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/PinyinIME_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.inputmethod.pinyin.lib_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/PinyinIMEGoogleService_intermediates)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/core/build_id.mk b/core/build_id.mk
index 8d31dac..08e4f66 100755
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -1,3 +1,3 @@
 # This branch was born out of a naming conventions fix.
 # The decision was to keep the RC names the same.
-export BUILD_ID=CRA77
+export BUILD_ID=CRA78C
diff --git a/core/java.mk b/core/java.mk
index 65c525d..b1ded8a 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -72,33 +72,38 @@
 LOCAL_NO_EMMA_COMPILE := true
 endif
 
+# Choose leaf name for the compiled jar file.
 ifneq ($(LOCAL_NO_EMMA_COMPILE),true) 
-# If you instrument class files that have local variable debug information in
-# them emma does not correctly maintain the local variable table.
-# This will cause an error when you try to convert the class files for Android.
-# The workaround for this to compile the java classes with only
-# line and source debug information, not local information.
-full_classes_compiled_name_jar := classes-no-debug-var.jar
-$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g:{lines,source}
+full_classes_compiled_jar_leaf := classes-no-debug-var.jar
 else
-# when emma is off, compile with the default flags, which contain full debug 
-# info
-full_classes_compiled_name_jar := classes-full-debug.jar
-$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g
+full_classes_compiled_jar_leaf := classes-full-debug.jar
 endif
 
 # Compile the java files to a .jar file.
 # This intentionally depends on java_sources, not all_java_sources.
 # Deps for generated source files must be handled separately,
 # via deps on the target that generates the sources.
-full_classes_compiled_jar := $(intermediates.COMMON)/$(full_classes_compiled_name_jar)
+full_classes_compiled_jar := $(intermediates.COMMON)/$(full_classes_compiled_jar_leaf)
 $(full_classes_compiled_jar): $(java_sources) $(full_java_lib_deps)
 	$(transform-java-to-classes.jar)
 
+ifneq ($(LOCAL_NO_EMMA_COMPILE),true) 
+# If you instrument class files that have local variable debug information in
+# them emma does not correctly maintain the local variable table.
+# This will cause an error when you try to convert the class files for Android.
+# The workaround for this to compile the java classes with only
+# line and source debug information, not local information.
+$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g:{lines,source}
+else
+# when emma is off, compile with the default flags, which contain full debug 
+# info
+$(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g
+endif
+
 emma_intermediates_dir := $(intermediates.COMMON)/emma_out
-# the 'lib/$(full_classes_compiled_name_jar)' portion of this path is fixed in 
+# the 'lib/$(full_classes_compiled_jar_leaf)' portion of this path is fixed in 
 # the emma tool
-full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(full_classes_compiled_name_jar)
+full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(full_classes_compiled_jar_leaf)
 
 ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true)
 # Skip adding emma instrumentation to class files if this is a static library,
diff --git a/target/product/core.mk b/target/product/core.mk
index 83e2b3a..d79b1e1 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -9,7 +9,7 @@
     framework-res \
     Browser \
     Contacts \
-    Home \
+    Launcher \
     HTMLViewer \
     Phone \
     ContactsProvider \
@@ -22,6 +22,3 @@
     PackageInstaller \
     Bugreport
 
-#include basic ringtones
-include frameworks/base/data/sounds/OriginalAudio.mk
-
diff --git a/tools/droiddoc/NOTICE b/tools/droiddoc/NOTICE
new file mode 100644
index 0000000..3f1b1bb
--- /dev/null
+++ b/tools/droiddoc/NOTICE
@@ -0,0 +1,45 @@
+
+Copyright (C) 2008 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.
+
+
+======================================================================
+
+jQuery 1.2.6 - New Wave Javascript
+
+Copyright (c) 2008 John Resig (jquery.com)
+Dual licensed under the MIT (MIT-LICENSE.txt)
+and GPL (GPL-LICENSE.txt) licenses.
+
+Copyright (c) 2009 John Resig, http://jquery.com/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/tools/soslim/soslim.c b/tools/soslim/soslim.c
index 4e59c24..d32e247 100644
--- a/tools/soslim/soslim.c
+++ b/tools/soslim/soslim.c
@@ -236,7 +236,7 @@
           {
             /* Mark the symbol table's string table for removal. */
             INFO("Section [%s] (static symbol-string table) will be stripped from image.\n",
-                 shdr_info[cnt].name);
+                 shdr_info[shdr_info[cnt].shdr.sh_link].name);
             shdr_info[shdr_info[cnt].shdr.sh_link].idx = 0;
           }
           else {
