title: Type Android Junit4 not present exception
body: <p>I have an Android project that I am trying to run Instrumentation tests for using AndroidStudio, but when I try to run the whole class file for the tests, I get the exceptions as stated below :</p>
  
  <pre><code>java.lang.TypeNotPresentException: Type android.support.test.runner.AndroidJUnit4 not present
  Caused by: java.lang.ClassNotFoundException: android.support.test.runner.AndroidJUnit4
  </code></pre>
  
  <p>Interestingly, I can run individual methods in this Instrument Test class, just not the whole class. My build.gradle file for the app is below:</p>
  
  <pre><code>apply plugin: 'com.android.application'
  
  apply plugin: 'kotlin-android'
  
  apply plugin: 'kotlin-android-extensions'
  
  android {
      lintOptions {
          abortOnError false
      }
      compileSdkVersion 28
      defaultConfig {
          applicationId "com.sarpuner.journal"
          minSdkVersion 19
          targetSdkVersion 28
          versionCode 1
          versionName "1.0"
          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      buildToolsVersion '27.0.3'
  }
  
  repositories {
      maven { url "https://dl.bintray.com/ijabz/maven" }
  }
  
  dependencies {
      androidTestImplementation 'com.android.support:support-annotations:27.1.1'
      implementation fileTree(include: ['*.jar'], dir: 'libs')
      implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
      implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
      implementation 'com.android.support.constraint:constraint-layout:1.1.2'
      implementation 'dev.dworks.libs:volleyplus:0.1.4'
      implementation 'com.google.code.gson:gson:2.8.2'
      testImplementation 'junit:junit:4.12'
      androidTestImplementation 'com.android.support.test:rules:1.0.2'
      androidTestImplementation 'com.android.support.test:runner:1.0.2'
      androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
      implementation 'org.jsoup:jsoup:1.11.3'
      testImplementation 'org.junit.jupiter:junit-jupiter-api:5.1.1'
      implementation 'net.jthink:jaudiotagger:2.2.3'
      api 'com.google.guava:guava:26.0-android'
  }
  </code></pre>
  
  <p>And the InstrumentTest class is as follows:</p>
  
  <pre><code>package com.sarpuner.journal
  
  import android.support.test.InstrumentationRegistry
  import android.support.test.runner.AndroidJUnit4
  import android.util.Log    
  import org.junit.Test
  import org.junit.runner.RunWith    
  import org.junit.Assert.*
  import java.io.File
  
  private const val INSTRUMENT_TAG = "InstrumentTest"
  
  // TODO: There is a problem here with the class run!
  
  @RunWith(AndroidJUnit4::class)
  class ExampleInstrumentedTest {
  
      private val appContext = InstrumentationRegistry.getTargetContext()
  
      @Test
      fun useAppContext() {
          // Context of the app under test.
          assertEquals("com.sarpuner.journal", appContext.packageName)
      }
  
      @Test
      fun downloadAndSaveAudio() {
          val url = "http://telechargement.rfi.fr/rfi/francais/audio/jff/201808/journal_francais_facile_20h00_-_20h10_tu_20180809.mp3"
          val name = "09-08-2018.mp3"
          val f = File(appContext.filesDir, name)
          Log.d(INSTRUMENT_TAG, f.absolutePath)
          downloadAudio(url, f)
      }
  
      @Test
      fun downloadAndSaveTranscript() {
          val url = "https://savoirs.rfi.fr/fr/apprendre-enseigner/langue-francaise/journal-en-francais-facile-09082018-20h00-gmt"
          val name = "09-08-2018.txt"
          val f = File(appContext.filesDir, name)
  
          downloadText(url, f)
      }
  
      @Test
      fun addLyricsToAudio() {
  
      }
  }
  </code></pre>
  
  <p>Any help/guidance is much appreciated, thank you.</p>