Jak importovat Maven závislost na Android Studio / IntelliJ?

hlasů
76

Vytvořil jsem nový Android projektu pomocí výchozího Průvodce v Android Studio. Kompilaci a nasadit aplikaci do svého zařízení. Vše je v pořádku.

Teď chci importovat externí knihovnu, která je k dispozici na Maven. ( Http://square.github.io/picasso/ ). Šel jsem do modulu vlastnosti a přidal knihovnu Maven. Ukazuje správně v seznamu závislostí. Kromě toho, že se objeví v editoru a mohu správně použít v kódu.

Nicméně, v době kompilace, dostanu chybu Gradle: Nelze najít třídu

Nějaké nápady?

Položena 16/05/2013 v 19:56
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
75

Já jsem za použití Spring Framework android artefakt jako příklad

open build.gradle

Poté přidejte následující na stejné úrovni, jako platí plugin: ‚android‘

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
   compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}

můžete také použít tento zápis pro Maven artefakty

compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'

Váš IDE by mělo ukázat nádobu a jeho závislostí v rámci ‚externí knihovny‘, pokud se neukáže zkusit restartovat IDE (to se mi stalo docela dost)

Zde je příklad, který jste za předpokladu, že práce

buildscript { 
    repositories { 
        maven { 
            url 'repo1.maven.org/maven2'; 
        } 
    } 
    dependencies { 
        classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1' 
} 
android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 
    defaultConfig { 
        minSdkVersion 14 
        targetSdkVersion 17 
    } 
} 
Odpovězeno 16/05/2013 v 20:19
zdroj uživatelem

hlasů
63

Od verze 0.8.9, Android Studio podporuje Maven centrální úložiště ve výchozím nastavení. Takže přidat externí závislost Maven vše, co je třeba udělat, je upravit build.gradle soubor modulu a vložte řádek do sekce závislostí, jako je tento:

dependencies {

    // Remote binary dependency
    compile 'net.schmizz:sshj:0.10.0'

}

Uvidíte se zpráva jako ‚Synchronizovat ...‘ - klikněte na něj a čekat na maven repo ke stažení spolu se všemi jeho závislosti. Tam budou nějaké zprávy ve stavovém řádku v dolní části říkat, co se děje, pokud jde o stahování. Po dokončení toho bude dovážena JAR soubor spolu s jeho závislostí být uveden ve stromu External úložišť v okně Prohlížeč projektu, jak je uvedeno níže.

zadejte popis obrázku zde

Některé další vysvětlení zde: http://developer.android.com/sdk/installing/studio-build.html

Odpovězeno 29/10/2014 v 12:30
zdroj uživatelem

hlasů
3
  1. Zrušte zaškrtnutí políčka „Offline práce“ v Soubor> Nastavení> Gradle> Globální nastavení Gradle
  2. RESYNC projektu, například restartování Studio Android
  3. Jednou synchronizovat, můžete znovu zkontrolovat možnost pracovat v režimu offline.
Odpovězeno 26/12/2014 v 07:42
zdroj uživatelem

hlasů
0

Zkuste itext. Přidat závislost k oblíbeným build.gradlepro nejnovější k tomuto příspěvku

Poznámka: speciální verze pro Android, zadní „g“:

dependencies {
    compile 'com.itextpdf:itextg:5.5.9'
}
Odpovězeno 01/06/2016 v 19:38
zdroj uživatelem

hlasů
3

aktualizováno odpověď

Odpovědi, které hovoří o Maven Central se datuje od roku Android Studio využívá JCenter jako výchozí úložiště středu teď. build.gradle souboru svůj projekt by měl mít něco takového:

repositories {
    jcenter()
}

Takže pokud developer má svůj Maven úložiště tam (což Picasso dělá), pak vše, co bude muset udělat, je přidat jeden řádek do sekce závislostí build.gradle souboru vaší aplikace.

dependencies {
    // ...
    compile 'com.squareup.picasso:picasso:2.5.2'
}

Android Studio 3.0

S Android Studio 3.0 by to vypadat následovně:

projekt build.gradle

repositories {
    google()
    jcenter()
}

app build.gradle

dependencies {
    // ...
    implementation 'com.squareup.picasso:picasso:2.5.2'
}
Odpovězeno 25/01/2017 v 10:09
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more