wake-up-neo.com

Gradle-Projekt aus einem anderen Verzeichnis anfordern

Ich habe ein Verzeichnis/Projekt-Setup wie folgt:

C:\
    _dev\
        Projects\
            Logger
            MyProject

Logger ist ein Android Bibliotheksprojekt mit Gradle. MyProject ist ein Standardprojekt Android Projektprojekt, das benötigt um die Logger Bibliothek zu benutzen.

Ich verwende Android Studio und habe versucht, Logger zu den externen Bibliotheken hinzuzufügen. Während dies während der Entwicklung funktioniert, erhalte ich Meldungen darüber, dass die Klasse beim Erstellen nicht gefunden wird.

Ich bin völlig neu in Gradle, habe jedoch Folgendes in meiner build.gradle-Datei in MyProject ausprobiert:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'Android'

repositories {
    mavenCentral()
}

Android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 18
    }

    dependencies {
        compile files("../Logger")
    }
}

dependencies {
    compile 'com.Android.support:gridlayout-v7:18.0.0'
    compile 'com.Android.support:appcompat-v7:18.0.0'
}
60
euantorano

Am einfachsten ist es, MyProject zu einem Multiprojekt mit dem Projekt Logger als Unterprojekt zu machen.

settings.gradle in MyProject Verzeichnis:

include ":logger"
project(":logger").projectDir = file("../logger")

In dem build.gradle von MyProject können Sie diese Bibliothek jetzt als Projekt referenzieren:

dependencies {
     compile 'com.Android.support:gridlayout-v7:18.0.0'
     compile 'com.Android.support:appcompat-v7:18.0.0'
     compile project(":logger")
}
134
Rene Groeschke

Android Studio 2.2.3:

Zu settings.gradle hinzufügen.

include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
  • Der Pfad muss relativ zum Stammverzeichnis des Projekts sein, an dem Sie arbeiten.
  • Das Modul, auf das Sie verweisen, muss über einen Verweis auf das App-Verzeichnis verfügen.

Bearbeiten Sie dann Ihre Projektstruktur | Module zum Einrichten von Abhängigkeiten.

11
Dave Tyler

Versuchen Sie, die Abhängigkeit zum globalen Abschnitt "Abhängigkeiten" hinzuzufügen, nicht zum Abschnitt "Android> Abhängigkeiten". Während der Entwicklung wird die "Android" -Konfiguration verwendet, jedoch nicht zum Packen der Laufzeit.

dependencies {
    compile 'com.Android.support:gridlayout-v7:18.0.0'
    compile 'com.Android.support:appcompat-v7:18.0.0'
    compile files("../Logger")
}

Es kann sich auch lohnen, die Einrichtung einer Gradle-Konfiguration für mehrere Projekte mit build.gradle und settings.gradle im gemeinsam genutzten übergeordneten Verzeichnis wie folgt zu prüfen: http://www.gradle.org/docs/ current/userguide/multi_project_builds.html

6
miw