Heim  >  Artikel  >  Java  >  So importieren Sie Open-Source-Bibliotheken in ein Android Studio-Projekt

So importieren Sie Open-Source-Bibliotheken in ein Android Studio-Projekt

伊谢尔伦
伊谢尔伦Original
2016-11-26 10:36:131590Durchsuche

Vor zwei Tagen veröffentlichte Google die offizielle Version von Android Studio 1.0 und immer mehr Menschen begannen, für die Entwicklung auf Android Studio zu migrieren. Viele Open-Source-Bibliotheken, Steuerelemente usw. im Internet wurden jedoch in der Vergangenheit immer noch auf Basis von Eclipse entwickelt. Viele Leute wissen nicht, wie sie sie in ihre eigenen Projekte auf Basis von Android Studio importieren können auf Weibo und bat mich, darüber zu schreiben. Es war heute, ich bin früher zurück, also werde ich darüber schreiben. In diesem Artikel werden hauptsächlich einige gängige Paketleitszenarien vorgestellt.

Vorwort

--project //Projektverzeichnis

|

build.gradle //Gradle-Konfigurationsdatei des Projekts

|

settings.gradle//gradle-Einstellungen speichert alle Module

|

app //Modulverzeichnis

| Modulkonfiguration

|

module2 //module2 Verzeichnis

|__build.gradle Modulkonfiguration

Ähnlich wie bei Projekten in Eclipse können auch Gradle-/Android-Studio-Builds Module im Projektverzeichnis ablegen und das Modul dann in „settings.gradle“ hinzufügen. In unserer obigen Struktur sollte die Datei build.gradle beispielsweise wie folgt aussehen:

include ':app', ':module2'

Jar-Dateien importieren

Dies kann sehr häufig vorkommen. Sie können das von anderen erstellte JAR-Paket herunterladen, sodass Sie den libs-Ordner direkt unter Ihrem eigenen Hauptmodul erstellen können (das tue ich). Dies hier nur, um mit der Eclipse-Methode kompatibel zu sein), fügen Sie dann die JAR-Datei ein und fügen Sie dann den folgenden Code zu den dependecies{} in der build.gradle-Datei des Moduls hinzu:

compile files('libs/name.jar')

Wenn sich mehrere Dateien im libs-Ordner befinden, können Sie diese Pakete mit einer Codezeile einschließen:

fileTree kompilieren (dir: 'libs ', include: ['*.jar'])

Wenn Dateien vorhanden sind, die nicht eingeschlossen werden müssen, können Sie Folgendes tun:

fileTree kompilieren (Verzeichnis: 'libs', ausschließen: ['android-support*.jar'], einschließen: ['*.jar'])

Wie Sie dem obigen Code entnehmen können, können wir Platzhalter verwenden, + steht für ein Zeichen, * steht für 0 bis mehr Zeichen.

Importieren Sie die Bibliothek in Maven

Wenn der Autor der Open-Source-Bibliothek den Code in die Maven-Bibliothek eingefügt hat, können wir ihn direkt in die Gradle-Konfiguration einführen, ähnlich wie bei Folgendes:

compile 'com.github.dmytrodanylyk.android-process-button:library:1.0.1'

Im Allgemeinen können wir überprüfen, ob dies der Fall ist Der Fall auf der Github-Seite der Open-Source-Bibliothek Eine Adresse, oder durchsuchen Sie die Maven-Bibliothek anhand des Paketnamens. Das zuvor vorgestellte Projekt ist in drei Teile unterteilt: Gruppe:Name:Version Wir folgen dieser Regel auch bei der Einführung anderer Pakete.

Importieren Sie die von gradle erstellte Open-Source-Bibliothek

Diese Situation wird selten verwendet, da der Autor diese Open-Source-Bibliothek normalerweise in die Maven-Bibliothek einfügt, aber gelegentlich werde ich sie hier erwähnen ob ich es nutzen werde.

Laden Sie zuerst die Datei herunter, kopieren Sie den Modulordner der Bibliothek, die wir benötigen, in das Verzeichnis unseres Projekts, fügen Sie dann den Ordnernamen zur Datei „setting.gradle“ hinzu und fügen Sie dann das Modul hinzu, das wir benötigen, um davon abhängig zu sein module Fügen Sie den folgenden Code zur build.gradle-Datei hinzu in:

compile project(':libmodule')

Das war's.

Importieren Sie Open-Source-Bibliotheken, die auf Eclipse basieren

Der große Unterschied zwischen Projekten, die auf Eclipse basieren, und Projekten, die auf Android Studio basieren, ist die unterschiedliche Verzeichnisstruktur.
Wir kopieren zuerst den Modulordner in unser Projektverzeichnis, fügen dann dieses Modul in die Datei „settings.gradle“ ein und fügen dann Abhängigkeiten in der Datei „build.gradle“ in das zu verwendende Modul ein das Gleiche zu sein wie die Einführung einer auf Gradle erstellten Version ist nicht anders. Allerdings gibt es in Projekten, die auf Eclipse basieren, keine build.gradle-Datei, daher müssen wir selbst eine neue erstellen und sie unter dem Modul ablegen. Hier ist eine Vorlage:

apply plugin: 'android-library'
repositories {
    mavenCentral()
}
android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"
    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
    }
    lintOptions {
        abortOnError false
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Von Natürlich ändern sich je nach SDK und Buildtools-Version usw. auch andere Konfigurationen. Sie können meinen vorherigen Artikel lesen.

Andere

Die oben genannten sind die wichtigsten zentralisierten Importszenarien. Sie können die Konfiguration usw. entsprechend Ihrer tatsächlichen Situation ändern.

Außerdem handelt es sich bei dem von uns importierten Lager möglicherweise nicht um das Maven-Zentrallager, oder es handelt sich um ein von uns selbst erstelltes Lager. Wir können die Lageradresse anpassen, indem wir beispielsweise die Repositorys in der Datei build.gradle ändern :

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url "https://oss.sonatype.org/content/repositories/snapshots"
        }
    }
}

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn