So fügen Sie ein externes AAR-Paket mit dem neuen Gradle Android Build System manuell ein

406

Ich habe mit dem neuen Android-Build-System experimentiert und bin auf ein kleines Problem gestoßen. Ich habe mein eigenes aar-Paket von ActionBarSherlock zusammengestellt, das ich 'actionbarsherlock.aar' genannt habe. Was ich versuche, ist, dieses aar tatsächlich zu verwenden, um meine endgültige APK zu erstellen. Wenn ich die gesamte ActionBarSherlock-Bibliothek als Android-Bibliotheksmodul mit Kompilierungsprojekt (': actionbarsherlock') in mein Hauptprojekt einbinde, kann ich problemlos erfolgreich erstellen.

Mein Problem ist jedoch, dass ich diese Abhängigkeit MANUELL als aar-Dateipaket bereitstellen möchte, nur wenn ich eine JAR verwenden würde, kann ich anscheinend nicht herausfinden, wie ich sie richtig in mein Projekt aufnehmen kann. Ich habe versucht, die Kompilierungskonfiguration zu verwenden, aber dies scheint nicht zu funktionieren. Ich bekomme beim Kompilieren immer wieder kein Symbol, das mir sagt, dass die classes.jar aus dem aar-Paket nicht in den Klassenpfad aufgenommen wird.

Kennt jemand die Syntax, um ein aar-Paket manuell als Datei einzuschließen?

build.gradle

buildscript {

 repositories {
     mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:0.4'
  }
}
apply plugin: 'android'

repositories {
   mavenCentral()
}
dependencies {
    compile files('libs/actionbarsherlock.aar')
}

android {
    compileSdkVersion 15
    buildToolsVersion "17.0"
}

BEARBEITEN: Die Antwort lautet also, dass es derzeit nicht unterstützt wird. Hier ist das Problem, wenn Sie es verfolgen möchten.

EDIT: Da dies derzeit noch nicht direkt unterstützt wird, scheint die beste Alternative die vorgeschlagene Lösung von @RanWakshlak zu sein

BEARBEITEN: Auch einfacher mit der von @VipulShah vorgeschlagenen Syntax

Miguel Lavigne
quelle
Betrachten Sie die Antwort von Vipul Shah: Ab Android Studio 0.5.8 funktionierte es schließlich für mich ohne lokales Maven-Repository.
Shkschneider
Werfen
mixel
Wenn Sie Gradle 3.0.0 oder höher verwenden, hat dieses einfache Gradle-Setup für mich funktioniert
user1506104

Antworten:

670

Befolgen Sie die folgenden Schritte, um es zum Laufen zu bringen (ich habe es bis Android Studio 2.2 getestet).

Nehmen wir an, Sie haben eine AAR-Datei im libs-Ordner gespeichert. (Angenommen, der Dateiname ist cards.aar)

Geben Sie dann in der App build.gradleFolgendes an und klicken Sie auf Projekt mit Gradle-Dateien synchronisieren. Öffnen Sie build.gradle auf Projektebene und fügen Sie es flatDir{dirs 'libs'}wie unten beschrieben hinzu

allprojects {
   repositories {
      jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}

Öffnen Sie jetzt die Datei build.grdle auf App-Ebene und fügen Sie die .aarDatei hinzu

    dependencies {
       compile(name:'cards', ext:'aar')
}

Wenn alles gut geht, werden Sie sehen, dass der Bibliothekseintrag in build -> exploded-aar erfolgt

Beachten Sie außerdem, dass Sie beim Importieren einer .aar-Datei aus einem anderen Projekt mit Abhängigkeiten diese ebenfalls in Ihr build.gradle aufnehmen müssen.

Vipul Shah
quelle
5
@VipulShah wo befindet sich das libs-Verzeichnis?
StuStirling
2
Möglicherweise sollte empfohlen werden, Änderungen im App-Modul 'build.gradle' und nicht im obersten Ordner 'build.gradle' vorzunehmen.
Loloof64
3
Antwort auf meine Frage oben gefunden: anstelle der compileAbhängigkeit zwei Abhängigkeiten hinzufügen debugCompile(name:'cards-debug', ext:'aar')undreleaseCompile(name:'cards-release', ext:'aar')
Iftah
2
Verwechseln Sie nicht den Beispielcode. Der erste Block mit allprojects {...}geht zur Gradle-Datei auf der Ebene "Projekt", und der zweite Teil mit dependencies {...}sollte zur Gradle-Datei auf der Ebene "App" gehen.
Kirill Karmazin
8
Bitte aktualisieren Sie Ihre Antwort: WARNUNG: Die Konfiguration 'Kompilieren' ist veraltet und wurde durch 'Implementierung' und 'API' ersetzt. Es wird Ende 2018 entfernt. Weitere Informationen finden Sie unter: d.android.com/r/tools/update-dependency-configurations.html
B-GangsteR
248
  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie "Moduleinstellungen öffnen" .

Öffnen Sie die Moduleinstellungen

  1. Klicken Sie auf die Schaltfläche "+" in der oberen linken Ecke des Fensters, um ein neues Modul hinzuzufügen.

Neues Modul hinzufügen

  1. Wählen Sie ".JAR- oder .AAR-Paket importieren" und klicken Sie auf die Schaltfläche "Weiter" .

AAR importieren

  1. Suchen Sie die AAR-Datei mithilfe der Auslassungsschaltfläche "..." neben dem Feld "Dateiname".

Suchen Sie nach einer AAR-Datei

  1. Lassen Sie das Modul der App ausgewählt und klicken Sie auf den Bereich Abhängigkeiten , um das neue Modul als Abhängigkeit hinzuzufügen.

Bereich "Abhängigkeiten"

  1. Verwenden Sie die Schaltfläche "+" des Abhängigkeitsbildschirms und wählen Sie "Modulabhängigkeit" .

Modulabhängigkeit hinzufügen

  1. Wählen Sie das Modul aus und klicken Sie auf "OK" .

Modul auswählen

Oliver Kranz
quelle
4
Beste Antwort: Denken Sie daran, dass Sie das Alt+BProjekt anschließend sauber machen und neu erstellen. Android Studio, warum Sie schmerzhaft sind! Ich möchte NetBeans IDE als Android Developer Platform haben
Java Acm
@Oliver Du bist großartig!
Ankit Purwar
Du bist der beste!
Codezombie
2
Es ist nicht die beste Idee, jedes Mal ein neues Modul zu erstellen, wenn Sie aarIhrem Projekt nur eine Bibliothek hinzufügen möchten
Kirill Karmazin
Du bist großartig, mein Freund. !! Prost auf diese.
Timothy Macharia
112

Sie können auf eine aar-Datei aus einem Repository verweisen. Ein Maven ist eine Option, aber es gibt eine einfachere Lösung: Legen Sie die aar-Datei in Ihrem libs-Verzeichnis ab und fügen Sie ein Verzeichnis-Repository hinzu.

    repositories {
      mavenCentral()
      flatDir {
        dirs 'libs'
      }
    }

Verweisen Sie dann auf die Bibliothek im Abschnitt "Abhängigkeit":

  dependencies {
        implementation 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Weitere Informationen finden Sie im Min'an-Blogbeitrag .

Ran Wakshlak
quelle
1
Dies funktioniert hervorragend und ist besser als die akzeptierten / höher bewerteten Antworten, da es einfacher ist und ich dies in die Versionskontrolle einbeziehen kann, ohne die Datei zum lokalen Maven-Repo jedes Entwicklers hinzuzufügen (wenn ich das tun müsste, warum sollte ich Gradle überhaupt verwenden? ?) Vielen Dank!
Ajpolt
@ajpolt Es wird wahrscheinlich empfohlen, stattdessen einen Repo-Server einzurichten (für proprietäre Deps), damit Sie ihn nicht auf Entwicklungsmaschinen oder im lib-Ordner Ihres Projekts ablegen müssen. Wenn Sie nur eine Abhängigkeit haben, werfen Sie sie in ein maven-strukturiertes Google-Code-Repository (als temporäres Repo)
Lo-Tan
4
Der wichtigste Punkt in dieser Antwort ist die Erwähnung von '@aar' am Ende der Abhängigkeit.
Atharva
Ich nehme an, dass dies mit dem neuesten Gradle-Plugin nicht mehr funktioniert: stackoverflow.com/questions/60878599/…
David
Dies ist die einzige Antwort, die die einfachste Form mit allen modernen Syntaxen implementationusw. enthält. Dies ist das Kopieren und Einfügen der Lösung. Viele neue Upvotes gehen ein, weil das Android Build Gradle Plugin 4.0.0 jetzt einen Fehler auslöst, anstatt fehlerhafte .aar-Pfade zu ignorieren
Patrick
51

Der folgende Ansatz funktioniert mit dem neuesten Android Studio (> v0.8.x):

  • Speichern Sie die aarDatei unter App - Moduls libsOrdner (zB: <project>/<app>/libs/myaar.aar)

  • Fügen Sie das Folgende zu build.gradle Ihres Modulordners "app" hinzu (nicht zu Ihrem Projektstamm build.gradle). Beachten Sie den Namen in der Kompilierungszeile, es ist myaar @ aar, nicht myaar.aar.

    dependencies {
        compile 'package.name.of.your.aar:myaar@aar'
    }
    
    repositories{
        flatDir{
            dirs 'libs'
        }
    }
  • Klicken Tools -> Android -> Sync Project with Gradle Files

Ashoke
quelle
3
Funktioniert perfekt auf AS 1.0
Pablo Johnson
1
Falls jemand es braucht, wenn gradle in Ordnung ist, Sie aber immer noch keine Klassen sehen können, starten Sie Android Studio neu ...
htafoya
1
Diese Lösung funktioniert hervorragend in AS2.2 - gradle ist erstaunlich wählerisch in Bezug auf die Syntax von AAR-Dateien, wie es scheint.
Jim Andreas
Bitte aktualisieren oder löschen, das Kompilieren ist veraltet und es gibt auch dieses Problem: stackoverflow.com/questions/60878599/…
David
49

vor (Standard)

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

einfach '*.aar'in includeArray hinzufügen .

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

es funktioniert gut unter Android Studio 3.x.

Wenn Sie eine Bibliothek ignorieren möchten? mag das.

implementation fileTree(include: ['*.jar', '*.aar'], exclude: 'test_aar*', dir: 'libs')
debugImplementation files('libs/test_aar-debug.aar')
releaseImplementation files('libs/test_aar-release.aar')
Changhoon
quelle
2
Während dieser Code die Frage möglicherweise beantwortet, würde die Bereitstellung eines zusätzlichen Kontexts darüber, wie und / oder warum das Problem gelöst wird, den langfristigen Wert der Antwort verbessern.
Alexander
1
Dies funktioniert einwandfrei, wenn die Bibliothek einfach ist. Hier ist jedoch ein Problem: Sie müssen die gesamte in Ihre aar-Datei importierte Bibliothek importieren, damit sie funktioniert. Der Import aus der aar-Datei wird mit dieser Methode nicht weitergegeben.
Tobliug
Oder noch einfacher:implementation fileTree(include: ['*.?ar'], dir: 'libs')
friederbluemle
@friederbluemle Anstatt einfacher, würde ich theoretisch kürzer und gleichzeitig unspezifisch sagen.
David
21

Ich habe es gerade geschafft!

  1. Kopieren Sie die Datei mylib-0.1.aar in den Ordner libs /

  2. Fügen Sie diese Zeilen am Ende von build.gradle hinzu (sollte App sein, kein Projekt):

    repositories {
       flatDir {
           dirs 'libs'
       }
    }
    dependencies {
        compile 'com.example.lib:mylib:0.1@aar'
    }
  3. So weit, ist es gut. Hier kommt der wichtigste Punkt:

Gradle muss für Abhängigkeiten auf das Netzwerk zugreifen, es sei denn, der Offline-Modus ist aktiviert.

Stellen Sie sicher, dass Sie die Offline-Arbeit über das Kontrollkästchen in Projektstrukturen / Gradle aktiviert haben

-- ODER --

Konfigurieren Sie die Proxy-Einstellungen, um auf das Netzwerk zuzugreifen.

Um die Proxy-Einstellungen zu konfigurieren, müssen Sie die Datei gradle.properties des Projekts ändern und http und https wie folgt separat konfigurieren:

systemProp.http.proxyHost=proxy.example.com
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=pass
systemProp.http.nonProxyHosts=localhost
systemProp.http.auth.ntlm.domain=example <for NT auth>

systemProp.https.proxyHost=proxy.example.com
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=user
systemProp.https.proxyPassword=pass
systemProp.https.nonProxyHosts=localhost
systemProp.https.auth.ntlm.domain=example <for NT auth>

Hoffe das funktioniert.

Orhun D.
quelle
Bitte aktualisieren oder löschen, das Kompilieren ist veraltet und es gibt auch dieses Problem: stackoverflow.com/questions/60878599/…
David
20

Derzeit wird das Verweisen auf eine lokale .aar-Datei nicht unterstützt (wie von Xavier Ducrochet bestätigt).

Stattdessen können Sie ein lokales Maven-Repository einrichten (viel einfacher als es sich anhört) und von dort aus auf die .aar-Datei verweisen.

Ich habe einen Blogpost geschrieben, in dem beschrieben wird, wie es hier funktioniert:

http://www.flexlabs.org/2013/06/using-local-aar-android-library-packages-in-gradle-builds

Artiom Chilaru
quelle
Ich habe es nicht geschafft, dass es funktioniert, wenn das Artefakt ein Schnappschuss ist. Irgendeine Idee warum?
Tbruyelle
Haben Sie dies nur mit Eclipse oder Android Studio zum Laufen gebracht? Bei Eclipse fügt "gradle eclipse" die aar-Datei zum Klassenpfad hinzu, aber Eclipse erkennt keine Klassen darin.
andrej_k
Überprüfen Sie diese Frage stackoverflow.com/questions/20911665/…, wenn nach dem Befolgen des Tutorials Ihre lokale .aar-Datei nicht gefunden wird (auf Gradle 1.9 oder höher)
Maragues
Bitte aktualisieren oder löschen, diese Antwort ist veraltet.
David
19

Sie können aarmit nur wenigen Codezeilen mehrere Abhängigkeiten hinzufügen .

Lokales flatDirRepository hinzufügen:

repositories {
    flatDir {
        dirs 'libs'
    }
} 

In jeden aarin libsVerzeichnis compileAbhängigkeit Konfiguration:

fileTree(dir: 'libs', include: '**/*.aar')
        .each { File file ->
    dependencies.add("compile", [name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name }, ext: 'aar'])
}
mischen
quelle
Dies hat funktioniert, aber wie kann man überprüfen, ob die Abhängigkeit bereits als Maven-Abhängigkeit hinzugefügt wurde, dann möchte ich nicht, dass eine AAR-Datei hinzugefügt werden muss. PS: Ich verwende dies, um ein Plugin zu schreiben, das mein AAR automatisch zum Android-Projekt hinzufügt und fügt Abhängigkeit in build.gradle
Adi
@Adi Wenn Sie bereits eine Maven-Abhängigkeit haben, legen Sie keinen entsprechenden aar in den libsOrdner.
Mixel
Vielen Dank für die Antwort. Wie bereits erwähnt, wird das Hinzufügen von aar zu libs durch ein Android Studio-Plugin automatisiert, das sich in der Entwicklung befindet. Daher möchte ich wissen, ob die Abhängigkeit, die das Plugin der build.gradle-Datei hinzufügt, bereits zuvor hinzugefügt wurde.
Adi
Ich habe momentan keine Antwort. Ich denke, es ist besser, eine separate Frage zu erstellen.
Mixel
15

Leider hat keine der Lösungen hier für mich funktioniert (ich bekomme ungelöste Abhängigkeiten). Was letztendlich funktioniert hat und meiner Meinung nach der einfachste Weg ist: Markieren Sie den Projektnamen in Android Studio und dann Datei -> Neues Modul -> JAR- oder AAR-Paket importieren. Gutschrift geht an die Lösung in diesem Beitrag

Nonos
quelle
1
Es sollte beachtet werden, dass Android Studio in seinem Importassistenten außergewöhnlich vage ist. Wenn sie in einem der Schritte "Dateiname" angeben, fragen sie tatsächlich nach dem Pfad der Datei ... Hoffentlich erspart diese Nachricht anderen Kopfschmerzen.
Tukajo
13

Es gibt zwei Möglichkeiten:

Der erste Weg

  1. Öffnen Sie Ihr Android Studio und navigieren Sie zum Create New ModuleFenster vonFile -> New -> New Module

Geben Sie hier die Bildbeschreibung ein

  1. Wählen Sie das Import .JAR/.AAR PackageElement aus und klicken Sie auf die NextSchaltfläche

  2. Fügen Sie der build.gradleDatei, die zu Ihrem appModul gehört, eine Abhängigkeit hinzu .

    dependencies {
        ...
        implementation project(path: ':your aar lib name')
    }

Das ist alles.

Der zweite Weg

  1. Erstellen Sie einen Ordner im libsVerzeichnis, z aars.

  2. Legen Sie Ihre aar lib in den aars-Ordner.

  3. Fügen Sie das Code-Snippet hinzu

repositories {
    flatDir {
        dirs 'libs/aars'
    }
}

in Ihre build.gradleDatei gehört zum App-Modul.

  1. Fügen Sie der build.gradleDatei, die zu Ihrem appModul gehört, eine Abhängigkeit hinzu .
dependencies {
    ...
    implementation (name:'your aar lib name', ext:'aar')
}

Das ist alles.

Wenn Sie Chinesisch lesen können, können Sie den Blog AR 是 AAR 文件 以及 如何 在 Android 开发 中 使用 überprüfen

shusheng007
quelle
Diese Antwort war wirklich hilfreich für mich
Csabi
Wenn auf die erste Weise befolgt wird, werden Klassen in einer AAR-Datei im Hauptprojekt nicht erkannt. Müssen wir eine zusätzliche Konfiguration hinzufügen?
Kiran
Bitte aktualisieren oder löschen, die Antworten sind bereits veröffentlicht und das zweite "Kompilieren" ist veraltet.
David
12

Mit Android Studio 3.4 und Gradle 5 können Sie dies einfach so tun

dependencies {
    implementation files('libs/actionbarsherlock.aar')
}
m0skit0
quelle
1
Dies ist die beste Antwort. Die Abhängigkeit ist explizit und sehr einfach.
Nikmoon
1
Einverstanden, dass dies die beste Antwort ist. Sofort funktioniert, war perfekt zum Hinzufügen von .aar-Abhängigkeiten zu einer React Native-Bibliothek.
Josh Baker
1
Dies löst einen Fehler aus, der mit Gradle Plugin 4 beginnt
David
@ David Danke für den Bericht, ich werde versuchen, ihn so schnell wie möglich zu testen.
m0skit0
10

UPDATE ANDROID STUDIO 3.4

  1. Gehen Sie zu Datei -> Projektstruktur

Geben Sie hier die Bildbeschreibung ein

  1. Module und klicken Sie auf +

Geben Sie hier die Bildbeschreibung ein

  1. Wählen Sie .aar-Paket importieren

Geben Sie hier die Bildbeschreibung ein

  1. Finden Sie die .aar-Route

Geben Sie hier die Bildbeschreibung ein

  1. Fertig stellen und Übernehmen , dann überprüfen, ob das Paket hinzugefügt wurde

Geben Sie hier die Bildbeschreibung ein

  1. Klicken Sie nun im App-Modul auf + und Modulabhängigkeit

Geben Sie hier die Bildbeschreibung ein

  1. Überprüfen Sie das Bibliothekspaket und Ok

Geben Sie hier die Bildbeschreibung ein

  1. Überprüfen Sie die hinzugefügte Abhängigkeit

Geben Sie hier die Bildbeschreibung ein

  1. Und die Projektstruktur so

Geben Sie hier die Bildbeschreibung ein

Álvaro Agüero
quelle
1
Dies ist die 17. Antwort, die ich gelesen habe und die endlich die Abhängigkeit hinzugefügt hat. eeh
Taras Matsyk
6

Ich habe auch dieses Problem gehabt. Dieser Problembericht : https://code.google.com/p/android/issues/detail?id=55863 scheint darauf hinzudeuten, dass ein direkter Verweis auf die .AAR-Datei nicht unterstützt wird.

Möglicherweise besteht die Alternative vorerst darin, die Actionbarsherlock-Bibliothek als Gradle-Bibliothek im übergeordneten Verzeichnis Ihres Projekts zu definieren und entsprechend zu referenzieren.

Die Syntax wird hier definiert: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Referencing-a-Library


quelle
Vielen Dank für den Hinweis auf das Problem. Ja, ich weiß, wie dies mit Gradle Android Library funktioniert, aber diese Option ist für das Projekt, an dem ich arbeite, nicht wirklich optimal, aber danke!
Miguel Lavigne
3

Ich habe diese Problemumgehung im Android Issue Tracker gefunden: https://code.google.com/p/android/issues/detail?id=55863#c21

Der Trick (kein Fix) besteht darin, Ihre .aar-Dateien in einem Teilprojekt zu isolieren und Ihre Bibliotheken als Artefakte hinzuzufügen:

configurations.create("default")
artifacts.add("default", file('somelib.jar'))
artifacts.add("default", file('someaar.aar'))

Weitere Informationen: Umgang mit transitiven Abhängigkeiten für lokale Artefakte

Jiparis
quelle
Das ist richtig, und hier ist das Beispiel: in github.com/textileio/notes/commit/… , compile project(':mobile')in android / app / build.gradle, configurations.maybeCreate("default")in android / mobile / build.gradle, include ':mobile'in android / settings.gradle
Li Zheng
3

In meinem Fall habe ich einige Abhängigkeiten in meiner Bibliothek, und als ich eine aardaraus erstellte, bin ich aufgrund fehlender Abhängigkeiten fehlgeschlagen. Daher besteht meine Lösung darin, alle Abhängigkeiten aus meiner Bibliothek mit einer arrDatei hinzuzufügen .

Meine Projektebene build.gradlesieht also so aus:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
    }
}

allprojects {
    repositories {
        mavenCentral()
        //add it to be able to add depency to aar-files from libs folder in build.gradle(yoursAppModule)
        flatDir {
            dirs 'libs'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle(modile app) damit:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.example.sampleapp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    //your project depencies
    ...
    //add lib via aar-depency
    compile(name: 'aarLibFileNameHere', ext: 'aar')
    //add all its internal depencies, as arr don't have it
    ...
}

und Bibliothek build.gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //here goes library projects dependencies, which you must include
    //in yours build.gradle(modile app) too
    ...
}
Mohax
quelle
3

Ich habe hier alle Lösungen ausprobiert, aber keine funktioniert. Dann habe ich .aarfestgestellt, dass ich einen Fehler gemacht habe. Ich habe den Ordner in den falschen Ordner gelegt, wie Sie unten sehen können. Ich dachte, ich sollte ihn in den Stammordner legen, also habe ich dort einen libsOrdner erstellt (1 im Bild) ), aber im App-Ordner gibt es bereits einen libs, den Sie an zweiter Stelle setzen libssollten. Hoffen Sie , dass dies denjenigen hilft, die das gleiche Problem wie ich haben :

Geben Sie hier die Bildbeschreibung ein

GMsoF
quelle
3

Die Standardmethode zum Importieren von AAR-Dateien in eine Anwendung finden Sie unter https://developer.android.com/studio/projects/android-library.html#AddDependency

Klicken Sie auf Datei> Neu> Neues Modul. Klicken Sie auf .JAR / .AAR-Paket importieren und dann auf Weiter. Geben Sie den Speicherort der kompilierten AAR- oder JAR-Datei ein und klicken Sie auf Fertig stellen.

Bitte beziehen Sie sich auf den obigen Link für die nächsten Schritte.

Granat
quelle
2

Nur um die Antwort zu vereinfachen

Wenn die .aar-Datei lokal vorhanden ist, schließen Sie sie
compile project(':project_directory')in die Abhängigkeiten von build.gradle Ihres Projekts ein.

Wenn eine Remote-Datei auf Remote vorhanden ist, schließen Sie sie compile 'com.*********.sdk:project_directory:0.0.1@aar'in die Abhängigkeiten von build.gradle Ihres Projekts ein.

anupam_kamble
quelle
0

In meinem Fall arbeiten Sie einfach, wenn ich "Projekt" zum Kompilieren hinzufüge:

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}


dependencies {
   compile project('com.x.x:x:1.0.0')
}
josedlujan
quelle
0

Sie können so etwas tun:

  1. Legen Sie Ihre lokalen Bibliotheken (mit der Erweiterung: .jar, .aar, ...) in den Ordner 'libs' (oder in einen anderen, wenn Sie möchten).

  2. Fügen Sie in build.gradle (App-Ebene) diese Zeile zu Abhängigkeiten hinzu

    ImplementierungsdateiTree (include: ['* .jar', '* .aar'], dir: 'libs')

nguyencse
quelle