It's not quite clear exactly why you want to find the classes. If you merely want to find which dependency in your project uses Guava so you can consider replacing it, shadowing with a tool like jarjarlinks, or resolving a dependency conflict there is a simple solution. As in the answers to this question and this question you can go to Terminal
in Android Studio and type:
gradlew app:dependencies
or, if you are using Mac/Linux
./gradlew app:dependencies
to list the dependencies and transitive dependencies of a given application. Then you will be able to see which libraries in your project are using Guava. The above command will output for all of your tasks, including compile
and testCompile
. Here's a sample of the output under testCompile
:
*testCompile*
+--- junit:junit:4.12
| \--- org.hamcrest:hamcrest-core:1.3
+--- org.assertj:assertj-core:1.7.0
+--- org.robolectric:robolectric:3.1.4
| +--- org.robolectric:robolectric-annotations:3.1.4
| +--- org.robolectric:robolectric-resources:3.1.4
| | +--- org.robolectric:robolectric-utils:3.1.4
| | | +--- org.ow2.asm:asm:5.0.1
| | | +--- org.ow2.asm:asm-commons:5.0.1
| | | | \--- org.ow2.asm:asm-tree:5.0.1
| | | | \--- org.ow2.asm:asm:5.0.1
| | | +--- org.robolectric:robolectric-annotations:3.1.4
| | | \--- com.google.android.apps.common.testing.accessibility.framewo
| | | +--- org.hamcrest:hamcrest-core:1.3
| | | +--- org.hamcrest:hamcrest-library:1.3
| | | | \--- org.hamcrest:hamcrest-core:1.3
| | | \--- com.google.protobuf:protobuf-java:2.6.1
| | +--- org.robolectric:robolectric-annotations:3.1.4
| | +--- com.ximpleware:vtd-xml:2.11
| | \--- com.google.guava:guava:19.0
| +--- org.robolectric:robolectric-utils:3.1.4 (*)
| +--- org.robolectric:shadows-core-v23:3.1.4
| | +--- org.robolectric:robolectric-annotations:3.1.4
| | +--- org.robolectric:robolectric-resources:3.1.4 (*)
| | +--- org.robolectric:robolectric-utils:3.1.4 (*)
| | +--- com.almworks.sqlite4java:sqlite4java:0.282
| | \--- com.ibm.icu:icu4j:53.1
| +--- org.ow2.asm:asm:5.0.1
| +--- org.ow2.asm:asm-util:5.0.1
| | \--- org.ow2.asm:asm-tree:5.0.1 (*)
| +--- org.ow2.asm:asm-commons:5.0.1 (*)
| +--- org.ow2.asm:asm-analysis:5.0.1
| | \--- org.ow2.asm:asm-tree:5.0.1 (*)
| +--- org.bouncycastle:bcprov-jdk16:1.46
| +--- com.ximpleware:vtd-xml:2.11
| +--- com.thoughtworks.xstream:xstream:1.4.8
| | +--- xmlpull:xmlpull:1.1.3.1
| | \--- xpp3:xpp3_min:1.1.4c
| +--- org.apache.ant:ant:1.8.0
| | \--- org.apache.ant:ant-launcher:1.8.0
| \--- org.apache.maven:maven-ant-tasks:2.1.3
| +--- org.apache.ant:ant:1.8.0 (*)
| +--- classworlds:classworlds:1.1-alpha-2
| +--- org.codehaus.plexus:plexus-container-default:1.0-alpha-9-stable-1
| | +--- junit:junit:3.8.1 -> 4.12 (*)
| | +--- org.codehaus.plexus:plexus-utils:1.0.4 -> 1.5.15
| | \--- classworlds:classworlds:1.1-alpha-2
| +--- org.codehaus.plexus:plexus-utils:1.5.15
| +--- org.codehaus.plexus:plexus-interpolation:1.11
| +--- org.apache.maven:maven-artifact:2.2.1
| | \--- org.codehaus.plexus:plexus-utils:1.5.15
| +--- org.apache.maven:maven-artifact-manager:2.2.1
| | +--- org.apache.maven:maven-repository-metadata:2.2.1
| | | \--- org.codehaus.plexus:plexus-utils:1.5.15
| | +--- org.codehaus.plexus:plexus-utils:1.5.15
| | +--- org.apache.maven:maven-artifact:2.2.1 (*)
| | +--- org.codehaus.plexus:plexus-container-default:1.0-alpha-9-sta
| | +--- org.apache.maven.wagon:wagon-provider-api:1.0-beta-6
| | | \--- org.codehaus.plexus:plexus-utils:1.4.2 -> 1.5.15
| | \--- backport-util-concurrent:backport-util-concurrent:3.1
| +--- org.apache.maven:maven-model:2.2.1
| | \--- org.codehaus.plexus:plexus-utils:1.5.15
| +--- org.apache.maven:maven-project:2.2.1
| | +--- org.apache.maven:maven-settings:2.2.1
| | | +--- org.apache.maven:maven-model:2.2.1 (*)
| | | +--- org.codehaus.plexus:plexus-interpolation:1.11
| | | +--- org.codehaus.plexus:plexus-utils:1.5.15
| | | \--- org.codehaus.plexus:plexus-container-default:1.0-alpha-
| | +--- org.apache.maven:maven-profile:2.2.1
| | | +--- org.apache.maven:maven-model:2.2.1 (*)
| | | +--- org.codehaus.plexus:plexus-utils:1.5.15
| | | +--- org.codehaus.plexus:plexus-interpolation:1.11
| | | \--- org.codehaus.plexus:plexus-container-default:1.0-alpha-
| | +--- org.apache.maven:maven-model:2.2.1 (*)
| | +--- org.apache.maven:maven-artifact-manager:2.2.1 (*)
| | +--- org.apache.maven:maven-plugin-registry:2.2.1
| | | +--- org.codehaus.plexus:plexus-utils:1.5.15
| | | \--- org.codehaus.plexus:plexus-container-default:1.0-alpha-
| | +--- org.codehaus.plexus:plexus-interpolation:1.11
| | +--- org.codehaus.plexus:plexus-utils:1.5.15
| | +--- org.apache.maven:maven-artifact:2.2.1 (*)
| | \--- org.codehaus.plexus:plexus-container-default:1.0-alpha-9-sta
| +--- org.apache.maven:maven-error-diagnostics:2.2.1
| | \--- org.codehaus.plexus:plexus-container-default:1.0-alpha-9-sta
| +--- org.apache.maven:maven-settings:2.2.1 (*)
| +--- org.apache.maven.wagon:wagon-file:1.0-beta-6
| | \--- org.apache.maven.wagon:wagon-provider-api:1.0-beta-6 (*)
| +--- org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-6
| | +--- org.apache.maven.wagon:wagon-http-shared:1.0-beta-6
| | | +--- nekohtml:xercesMinimal:1.9.6.2
| | | +--- nekohtml:nekohtml:1.9.6.2
| | | \--- org.apache.maven.wagon:wagon-provider-api:1.0-beta-6 (*
| | \--- org.apache.maven.wagon:wagon-provider-api:1.0-beta-6 (*)
| \--- org.apache.maven.wagon:wagon-provider-api:1.0-beta-6 (*)
+--- org.robolectric:shadows-support-v4:3.1.4
| +--- org.robolectric:robolectric:3.1.4 (*)
| \--- org.robolectric:shadows-core-v23:3.1.4 (*)
+--- org.mockito:mockito-core:2.2.28
| +--- net.bytebuddy:byte-buddy:1.5.5
| +--- net.bytebuddy:byte-buddy-agent:1.5.5
| \--- org.objenesis:objenesis:2.4
\--- com.google.guava:guava:19.0
You can see com.google.guava:guava:19.0
is both a dependency and a transitive dependency through org.robolectric:robolectric:3.1.4
.
Otherwise, as per the other answer on this page, you could use the Find in path
command in Android Studio.
The dialog looks something like this. Make sure you choose Scope
as Project and Libraries
:

The result looks something like this:

You can see it has found the files in Roboletric that are using Guava.