Fix a deodex issue when merging an unresolved array type
diff --git a/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/ClassPath.java b/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/ClassPath.java
index 96878d9..d3f5cdc 100644
--- a/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/ClassPath.java
+++ b/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/ClassPath.java
@@ -402,7 +402,13 @@
         //if the two arrays have the same number of dimensions, then we should return an array class with the
         //same number of dimensions, for the common superclass of the 2 element classes
         if (class1.arrayDimensions == class2.arrayDimensions) {
-            ClassDef commonElementClass = getCommonSuperclass(class1.elementClass, class2.elementClass);
+            ClassDef commonElementClass;
+            if (class1.elementClass instanceof UnresolvedClassDef ||
+                class2.elementClass instanceof UnresolvedClassDef) {
+                commonElementClass = ClassPath.getUnresolvedObjectClassDef();
+            } else {
+                commonElementClass = getCommonSuperclass(class1.elementClass, class2.elementClass);
+            }
             return getArrayClassDefByElementClassAndDimension(commonElementClass, class1.arrayDimensions);
         }