title: Understanding testing libraries versions / dependencies
body: <p>I was looking for a while how to find out dependencies among libraries but I didn't find anything. E.g. in my build.gradle is </p>
  
  <pre><code>dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      androidTestCompile 'com.android.support:support-annotations:25.4.0'
      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
          exclude group: 'com.android.support', module: 'support-annotations'
      })
      compile 'com.android.support:appcompat-v7:25.4.0'
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
      compile 'com.android.support.constraint:constraint-layout-solver:1.0.2'
      testCompile 'junit:junit:4.12'
      androidTestCompile 'com.android.support.test:runner:1.0.1'
      androidTestCompile 'com.android.support.test:rules:1.0.1'
  //    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
      androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.1'
      androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
  </code></pre>
  
  <p>How do I know what versions I can use ? (E.g., is com.android.support:support-annotations:25.4.0 compatible with com.android.support:appcompat-v7:25.4.0, etc. ?) Is this somewhere documented ? 
  E.g., Android Studio tells me I can use newer version by highlighting the row to yellow and saying the newer version. But if I change it, I end up with configuration that builds if I run tests but doesn't build the app. Or vice versa.</p>
  
  <p>E.g., I get an error</p>
  
  <blockquote>
    <p>Error:Execution failed for task
    ':app:transformClassesWithInstantRunForDebug'.</p>
    
    <blockquote>
      <p>Unexpected inputs: ImmutableJarInput{name=com.android.support:support-media-compat:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\73.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:animated-vector-drawable:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\69.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:appcompat-v7:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\68.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-vector-drawable:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\70.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-v4:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\71.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-compat:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\76.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-core-ui:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\75.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-core-utils:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\74.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-annotations:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\77.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED},
      ImmutableJarInput{name=com.android.support:support-fragment:25.3.1,
      file=C:\MyApp\app\build\intermediates\transforms\desugar\debug\72.jar,
      contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED}</p>
    </blockquote>
  </blockquote>