it-swarm.com.de

Wie importiere ich Maven-Abhängigkeit in Android Studio / IntelliJ?

Ich habe mit dem Standardassistenten in Android Studio ein neues Android Projekt erstellt. Die App wurde kompiliert und auf meinem Gerät bereitgestellt. Alles ist gut.

Jetzt möchte ich eine externe Bibliothek importieren, die auf Maven verfügbar ist. ( http://square.github.io/picasso/ ). Ich ging zu Moduleigenschaften und fügte eine Maven-Bibliothek hinzu. Es wird in der Liste der Abhängigkeiten korrekt angezeigt. Außerdem wird es im Editor angezeigt und ich kann es korrekt im Code verwenden.

Beim Kompilieren wird jedoch der Gradle-Fehler angezeigt, dass die Klasse nicht gefunden werden kann

Irgendwelche Ideen?

88
munkay

Ab Version 0.8.9 unterstützt Android Studio standardmäßig das Maven Central Repository. Um also eine externe Maven-Abhängigkeit hinzuzufügen, müssen Sie nur die build.gradle-Datei des Moduls bearbeiten und eine Zeile einfügen in den Abschnitt Abhängigkeiten wie folgt:

dependencies {

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

}

Sie sehen eine Meldung wie "Jetzt synchronisieren ..." - klicken Sie darauf und warten Sie, bis das Maven-Repo mit all seinen Abhängigkeiten heruntergeladen wurde. In der Statusleiste unten werden einige Meldungen angezeigt, die Sie über den Download informieren. Nach Abschluss dieses Vorgangs werden die importierte JAR-Datei und ihre Abhängigkeiten in der Struktur Externe Repositorys im Fenster Projektbrowser aufgelistet, wie unten gezeigt.

enter image description here

Einige weitere Erklärungen hier: http://developer.Android.com/sdk/installing/studio-build.html

68
dodgy_coder

Ich verwende das SpringFramework Android Artefakt als Beispiel

öffnen Sie build.gradle

Fügen Sie dann Folgendes auf derselben Ebene hinzu wie Plugin anwenden: 'Android'

apply plugin: 'Android'

repositories {
    mavenCentral()
}

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

sie können diese Notation auch für Maven-Artefakte verwenden

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

Ihr IDE sollte das jar und seine Abhängigkeiten unter 'External Libraries' anzeigen, wenn es nicht angezeigt wird. Versuchen Sie, das IDE (das ist mir ziemlich passiert ein bisschen)

hier ist das von Ihnen bereitgestellte Beispiel, das funktioniert

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 
    } 
} 
80
user1568967

Android Studio

Die Antworten, die sich auf Maven Central beziehen, sind veraltet, da Android= Studio jetzt JCenter als Standard-Repository-Center verwendet. Die build.gradle-Datei Ihres Projekts sollte ungefähr so ​​aussehen:

repositories {
    google()
    jcenter()
}

Solange der Entwickler sein Maven-Repository dort hat (was Picasso tut), müssten Sie nur eine einzelne Zeile in den Abhängigkeitsabschnitt der build.gradle-Datei Ihrer App einfügen.

dependencies {
    // ...
    implementation 'com.squareup.picasso:picasso:2.5.2'
}
6
Suragch
  1. Deaktivieren Sie "Offline-Arbeit" unter "Datei"> "Einstellungen"> "Gradle"> "Globale Gradle-Einstellungen"
  2. Synchronisieren Sie das Projekt erneut, indem Sie beispielsweise Android Studio neu starten
  3. Nach der Synchronisierung können Sie die Option erneut aktivieren, um offline zu arbeiten.
4
rinkesh

Versuchen Sie es mit itext. Fügen Sie Ihrem build.gradle Eine Abhängigkeit hinzu, um den neuesten Stand dieses Beitrags zu erhalten

Hinweis: Spezialversion für Android, abschließendes "g":

dependencies {
    compile 'com.itextpdf:itextg:5.5.9'
}
0
tom