Question

I'm using Square's Wire library for my Android app, using Android Studio with Gradle.

I originally added the wire-runtime-1.2.0.jar into a libs folder in my module, and added the dependency to Gradle like this in my build.gradle file:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

That worked fine.

I'm new to Gradle and Android Studio, but based on the way I'm depending on the Google Support and Play Services libraries, I thought I might be able to remove the wire-runtime-1.2.0.jar library from my repository and just declare a dependency like this (the line is from the Maven repository):

dependencies {
    compile 'com.squareup.wire:wire:1.0.0'
}

But if I do that then I hit this error:

Gradle: package com.squareup.wire does not exist

Is there a way to set up this dependency without importing the JAR file directly? Or does that only work for libraries that you can install through the SDK Manager?

Was it helpful?

Solution

Some packages, like com.squareup.wire, have multiple artifacts in Maven Central. You need to choose the right one for your needs. In this case, the equivalent of wire-runtime-1.2.0.jar is the wire-runtime artifact, not the wire artifact.

Here's what your dependencies section should look like:

dependencies {
    compile 'com.squareup.wire:wire-runtime:1.2.0'
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top