test: Fix 636-wrong-static-access for javac/dx

Test: ANDROID_COMPILE_WITH_JACK=false art/test.py
Bug: 36902714
Change-Id: Ibbe489bfdf12175a575710b0b87fe4fd54c97de2
diff --git a/test/etc/default-build b/test/etc/default-build
index 85350ba..13f4301 100755
--- a/test/etc/default-build
+++ b/test/etc/default-build
@@ -403,8 +403,20 @@
       # Restore previous "classes.dex" so it can be zipped.
       mv classes-1.dex classes.dex
   else
+    # Build src-ex into classes-ex.
+    # Includes 'src', 'src-art' source when compiling classes-ex, but exclude their .class files.
+    if [[ "${HAS_SRC}" == "true" ]]; then
+      mkdir -p classes-tmp-for-ex
+      ${JAVAC} ${JAVAC_ARGS} -d classes-tmp-for-ex `find src -name '*.java'`
+      src_tmp_for_ex="-cp classes-tmp-for-ex"
+    fi
+    if [[ "${HAS_SRC_ART}" == "true" ]]; then
+      mkdir -p classes-tmp-for-ex
+      javac_with_bootclasspath ${JAVAC_ARGS} -d classes-tmp-for-ex `find src-art -name '*.java'`
+      src_tmp_for_ex="-cp classes-tmp-for-ex"
+    fi
     mkdir classes-ex
-    ${JAVAC} ${JAVAC_ARGS} -d classes-ex -cp classes `find src-ex -name '*.java'`
+    ${JAVAC} ${JAVAC_ARGS} -d classes-ex $src_tmp_for_ex `find src-ex -name '*.java'`
     if [ ${NEED_DEX} = "true" ]; then
       make_dex classes-ex
 
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 818baaa..7a48c66 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -603,7 +603,6 @@
     },
     {
         "tests": [
-            "636-wrong-static-access",
             "953-invoke-polymorphic-compiler",
             "958-methodhandle-stackframe"
         ],