Provide a default multidex capable Application.

Multidex installation in Application.attachBaseContext()
requires only one call point to MultiDex.install() per Application
so let's provide a default multidex capable Application.

Change-Id: Icfa1993c4b3d7c5a7d1783d4ca6d5b9ea31adb8b
diff --git a/instrumentation/Android.mk b/instrumentation/Android.mk
index ffafd03..dce8f93 100644
--- a/instrumentation/Android.mk
+++ b/instrumentation/Android.mk
@@ -16,7 +16,7 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := android-support-multidex-instrumentation
-LOCAL_JAVA_LIBRARIES := android-support-multidex android-support-test
+LOCAL_JAVA_LIBRARIES := android-support-multidex
 LOCAL_SDK_VERSION := 4
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/instrumentation/src/com/android/test/runner/MultiDexAndroidJUnitRunner.java b/instrumentation/src/com/android/test/runner/MultiDexAndroidJUnitRunner.java
deleted file mode 100644
index 3c3c14a..0000000
--- a/instrumentation/src/com/android/test/runner/MultiDexAndroidJUnitRunner.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.test.runner;
-
-import android.os.Bundle;
-import android.support.multidex.MultiDex;
-import android.support.test.runner.AndroidJUnitRunner;
-
-/**
- * Extends AndroidJUnitRunner to patch up things for GMS Core multi-dex support.
- */
-public class MultiDexAndroidJUnitRunner extends AndroidJUnitRunner {
-    @Override
-    public void onCreate(Bundle arguments) {
-        MultiDex.install(getTargetContext());
-        super.onCreate(arguments);
-    }
-}
diff --git a/instrumentation/src/com/android/test/runner/MultiDexTestRunner.java b/instrumentation/src/com/android/test/runner/MultiDexTestRunner.java
index a93a740..510ad9f 100644
--- a/instrumentation/src/com/android/test/runner/MultiDexTestRunner.java
+++ b/instrumentation/src/com/android/test/runner/MultiDexTestRunner.java
@@ -20,6 +20,9 @@
 import android.support.multidex.MultiDex;
 import android.test.InstrumentationTestRunner;
 
+/**
+ * {@link InstrumentationTestRunner} for testing application needing multidex support.
+ */
 public class MultiDexTestRunner extends InstrumentationTestRunner {
 
     @Override
diff --git a/library/src/android/support/multidex/MultiDexApplication.java b/library/src/android/support/multidex/MultiDexApplication.java
new file mode 100644
index 0000000..8524646
--- /dev/null
+++ b/library/src/android/support/multidex/MultiDexApplication.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.support.multidex;
+
+import android.app.Application;
+import android.content.Context;
+
+/**
+ * Minimal MultiDex capable application. To use the legacy multidex library there is 3 possibility:
+ * <ul>
+ * <li>Declare this class as the application in your AndroidManifest.xml.</li>
+ * <li>Have your {@link Application} extends this class.</li>
+ * <li>Have your {@link Application} override attachBaseContext starting with<br>
+ * <code>
+  protected void attachBaseContext(Context base) {<br>
+    super.attachBaseContext(base);<br>
+    MultiDex.install(this);
+    </code></li>
+ *   <ul>
+ */
+public class MultiDexApplication extends Application {
+  @Override
+  protected void attachBaseContext(Context base) {
+    super.attachBaseContext(base);
+    MultiDex.install(this);
+  }
+}