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
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'
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.
E.g., I get an error
Error:Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
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}