Ist es möglich, das Git-Repository als Abhängigkeit im androiden Grad zu deklarieren?

Ich möchte die Master-Version meiner lib von mavencentral verwenden.

Ist es möglich, das git-Repository als Abhängigkeit im androiden Grad zu deklarieren?

  • Wie zeige ich den reichen Layout-Editor in Android Studio?
  • ViewPager Titel erscheint nicht, bis ich es abwischen kann
  • Wie man TODOs hinzufügt und Projektprobleme in Android Studio (NICHT in Quellen)
  • Relatives Layout alignParentLeft vs alignParentStart
  • Android Studio: Wie man einen laufenden Prozess auf Android-Gerät zu debuggen?
  • Android Studio Gradle Problem: OutOfMemoryError: PermGen Platz
  • So importiere ich ein bestehendes Projekt aus Github in Android Studio
  • Android Studio signiert APK ': app: transformClassesAndResourcesWithProguardForRelease'
  • 4 Solutions collect form web for “Ist es möglich, das Git-Repository als Abhängigkeit im androiden Grad zu deklarieren?”

    Für mich ist der beste Weg:

    https://jitpack.io

    Schritt 1. Füge das JitPack-Repository zu deiner Build-Datei hinzu Addiere es in deinem build.gradle am Ende der Repositories:

    repositories { // ... maven { url "https://jitpack.io" } } 

    Schritt 2. Füge die Abhängigkeit in der Form hinzu

     dependencies { compile 'com.github.User:Repo:Tag' } 

    Oder Sie können ein Repository als Submodul wie dieses registrieren

     $ git submodule add my_sub_project_git_url my-sub-project 

    Dann füge das Projekt in deiner settings.gradle Datei ein, die so aussehen soll

     include ':my-app', ':my-sub-project' 

    Schließlich kompiliere das Projekt als eine Abhängigkeit in deiner Anwendung build.gradle Datei wie folgt

     dependencies { compile project(':my-sub-project') } 

    Dann, wenn du dein Projekt --recursive , musst du nur die Option --recursive hinzufügen, um git automatisch das Root-Repository und alle seine Submodule zu klonen.

     git clone --recursive my_sub_project_git_url 

    Ich hoffe, es hilft.

    Das nächste, was ich gefunden habe, ist https://github.com/bat-cha/gradle-plugin-git-dependencies, aber ich kann es nicht mit dem Android-Plugin arbeiten, hält es versuch aus Maven auch nach dem Git zu ziehen Repos werden geladen.

    Ich glaube nicht, dass gradle unterstützt, um einen Git Repo als eine Abhängigkeit hinzuzufügen. Meine Umgehung ist:

    • Erklären, dass das Hauptprojekt von einem anderen Projekt im Dateisystem abhängt
    • Geben Sie einen Weg, um automatisch klonen die Git Repo in den Ordner als eine Abhängigkeit deklariert

    Ich gehe davon aus, dass Sie die Bibliothek Repo außerhalb des Ordners des Hauptprojekts Repo wollen, also wird jedes Projekt unabhängig sein git repos, und Sie können sich verpflichten, die Bibliothek und Hauptprojekt git repos unabhängig zu machen.

    Angenommen, Sie möchten den Ordner des Bibliotheksprojekts im selben Ordner haben, den der Ordner des Hauptprojekts,

    Du könntest:

    In der obersten Ebene settings.gradle, deklariere das Bibliotheks-Repository als Projekt, da es seinen Speicherort im Dateisystem ist

     // Reference: https://looksok.wordpress.com/2014/07/12/compile-gradle-project-with-another-project-as-a-dependency/ include ':lib_project' project( ':lib_project' ).projectDir = new File(settingsDir, '../library' ) 

    Verwenden Sie das gradle-git-Plugin , um die Bibliothek aus dem Git-Repository zu klonen

      import org.ajoberstar.gradle.git.tasks.* buildscript { repositories { mavenCentral() } dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' } } task cloneLibraryGitRepo(type: GitClone) { def destination = file("../library") uri = "https://github.com/blabla/library.git" destinationPath = destination bare = false enabled = !destination.exists() //to clone only once } 

    In den Abhängigkeiten deines Projektes heißt das, dass der Code deines Projektes vom Ordner des git-Projektes abhängt

     dependencies { compile project(':lib_project') } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.