diff --git a/cmd/soong_zip/soong_zip.go b/cmd/soong_zip/soong_zip.go
index 8407788..d634dda 100644
--- a/cmd/soong_zip/soong_zip.go
+++ b/cmd/soong_zip/soong_zip.go
@@ -646,15 +646,24 @@
 }
 
 func (z *zipWriter) writeDirectory(dir string) error {
-	if dir != "" && !strings.HasSuffix(dir, "/") {
-		dir = dir + "/"
+	// clean the input
+	cleanDir := filepath.Clean(dir)
+
+	// discover any uncreated directories in the path
+	zipDirs := []string{}
+	for cleanDir != "" && cleanDir != "." && !z.createdDirs[cleanDir] {
+
+		z.createdDirs[cleanDir] = true
+		// parent directories precede their children
+		zipDirs = append([]string{cleanDir}, zipDirs...)
+
+		cleanDir = filepath.Dir(cleanDir)
 	}
 
-	for dir != "" && dir != "./" && !z.createdDirs[dir] {
-		z.createdDirs[dir] = true
-
+	// make a directory entry for each uncreated directory
+	for _, cleanDir := range zipDirs {
 		dirHeader := &zip.FileHeader{
-			Name: dir,
+			Name: cleanDir + "/",
 		}
 		dirHeader.SetMode(0700 | os.ModeDir)
 		dirHeader.SetModTime(z.time)
@@ -665,8 +674,6 @@
 		}
 		close(ze)
 		z.writeOps <- ze
-
-		dir, _ = filepath.Split(dir)
 	}
 
 	return nil
