Fix pattern rules for $(installed_odex) for libdvm.

When the VM is libdvm, we don't put the odex files in an arch specific
subdirectory. The previous pattern rules don't work because of the extra
"/". With this change, % evaluates to empty string when it's built for
libdvm; % evaluates to "<arch_name>/" when it's built for libart.
Also removed use of $(create-empty-package), which may causes file name
(dummy) conflict with the rule of package.apk.

Bug: 15311527
Change-Id: I9f9089bc1896b78c1f47834afdb28a3a51d34480
diff --git a/core/package_internal.mk b/core/package_internal.mk
index cb1e424..5285616 100644
--- a/core/package_internal.mk
+++ b/core/package_internal.mk
@@ -377,7 +377,7 @@
 ifdef LOCAL_DEX_PREOPT
 $(built_odex): PRIVATE_DEX_FILE := $(built_dex)
 $(built_odex) : $(built_dex)
-	$(create-empty-package)
+	$(hide) mkdir -p $(dir $@) && rm -f $@
 	$(add-dex-to-package)
 	$(hide) mv $@ $@.input
 	$(call dexpreopt-one-file,$@.input,$@)