diff --git a/tools/jarutils/src/com/android/jarutils/JavaResourceFilter.java b/tools/jarutils/src/com/android/jarutils/JavaResourceFilter.java
index 1a97e28..51f4990 100644
--- a/tools/jarutils/src/com/android/jarutils/JavaResourceFilter.java
+++ b/tools/jarutils/src/com/android/jarutils/JavaResourceFilter.java
@@ -68,6 +68,10 @@
      * @return true if the file should be packaged as standard java resources.
      */
     public static boolean checkFileForPackaging(String fileName) {
+        if (fileName.charAt(0) == '.') { // ignore hidden files.
+            return false;
+        }
+
         String[] fileSegments = fileName.split("\\.");
         String fileExt = "";
         if (fileSegments.length > 1) {
@@ -83,11 +87,12 @@
      * @param extension the extension of the file (excluding '.')
      * @return true if the file should be packaged as standard java resources.
      */
-    public static boolean checkFileForPackaging(String fileName, String extension) {
+    private static boolean checkFileForPackaging(String fileName, String extension) {
         return "aidl".equalsIgnoreCase(extension) == false &&       // Aidl files
             "java".equalsIgnoreCase(extension) == false &&          // Java files
             "class".equalsIgnoreCase(extension) == false &&         // Java class files
             "scc".equalsIgnoreCase(extension) == false &&           // VisualSourceSafe
+            "swp".equalsIgnoreCase(extension) == false &&           // vi swap file
             "package.html".equalsIgnoreCase(fileName) == false &&   // Javadoc
             "overview.html".equalsIgnoreCase(fileName) == false &&  // Javadoc
             ".cvsignore".equalsIgnoreCase(fileName) == false &&     // CVS
