Πώς μπορώ να προσθέσω ένα έργο βιβλιοθήκης στο Android Studio;

Alexander Kulyakhtin 09/12/2017. 29 answers, 544.786 views
android android actionbarsherlock android-library android-studio android-studio

Πώς μπορώ να προσθέσω ένα πρόγραμμα βιβλιοθήκης (όπως το Sherlock ABS) στο Android Studio ;

(Όχι στην παλαιά δέσμη ADT Eclipse, αλλά στο νέο στούντιο Android .)

4 Comments
25 Daniel Smith 05/21/2013
Ναι, το να φαντάζομαι αυτό ήταν πιο συγκεχυμένο από ό, τι θα έπρεπε να ήταν ... όχι σαν να ήταν καλύτερο στην έκλειψη.
3 user1785900 01/19/2014
Το βίντεο YouTube How to Add Libraries to Android Studio εξηγεί τη διαδικασία.
1 craned 10/16/2014
Εάν χρησιμοποιείτε το Gradle , δείτε αυτήν την απάντηση StackOverflow .
1 Simon 12/20/2014
Εδώ είναι ένα βίντεο το οποίο βρήκα πραγματικά χρήσιμο: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

Από τότε που κυκλοφόρησε το Android Studio 1.0 (και πολλές εκδόσεις μεταξύ του v1.0 και ενός από τους πρώτους από την προηγούμενη απάντησή μου) κάποια πράγματα άλλαξαν.

Η περιγραφή μου επικεντρώνεται στην προσθήκη έργου εξωτερικής βιβλιοθήκης με το χέρι μέσω αρχείων Gradle (για καλύτερη κατανόηση της διαδικασίας). Εάν θέλετε να προσθέσετε μια βιβλιοθήκη μέσω του δημιουργού του Android Studio, ελέγξτε απλά την παρακάτω απάντηση με τον οπτικό οδηγό (υπάρχουν ορισμένες διαφορές μεταξύ του Android Studio 1.0 και αυτών από screenshot, αλλά η διαδικασία είναι πολύ παρόμοια).

Πριν αρχίσετε να προσθέτετε βιβλιοθήκη στο έργο σας με το χέρι, σκεφτείτε να προσθέσετε την εξωτερική εξάρτηση. Δεν θα χάσετε τη δομή του έργου σας. Σχεδόν κάθε γνωστή βιβλιοθήκη Android είναι διαθέσιμη σε ένα αποθετήριο Maven και η τοποθέτησή του λαμβάνει μόνο μία γραμμή κώδικα στο αρχείο app/build.gradle :

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
} 

Adding the library

Εδώ είναι η πλήρης διαδικασία προσθήκης εξωτερικής βιβλιοθήκης Android στο έργο μας:

  1. Δημιουργήστε ένα νέο έργο μέσω του δημιουργού του Android Studio. Το ονόμασα HelloWorld .
  2. Ακολουθεί η αρχική δομή του έργου που δημιουργήθηκε από το Android Studio:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. Στο ριζικό κατάλογο ( HelloWorld/ ), δημιουργήστε νέο φάκελο: /libs στον οποίο θα τοποθετήσουμε τις εξωτερικές βιβλιοθήκες μας (αυτό το βήμα δεν απαιτείται - μόνο για τη διατήρηση μιας καθαρότερης δομής του έργου).
  2. Επικολλήστε τη βιβλιοθήκη σας στο φάκελο που δημιουργήθηκε πρόσφατα /libs . Σε αυτό το παράδειγμα χρησιμοποίησα τη βιβλιοθήκη PagerSlidingTabStrip (απλά κατεβάστε το ZIP από το GitHub, μετονομάστε τον κατάλογο της βιβλιοθήκης στο "PagerSlidingTabStrip" και αντιγράψτε το.) Εδώ είναι η νέα δομή του έργου μας:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. Επεξεργαστείτε τις ρυθμίσεις. Διαβάσετε προσθέτοντας τη βιβλιοθήκη σας. Εάν χρησιμοποιείτε μια προσαρμοσμένη διαδρομή όπως και εγώ, πρέπει επίσης να ορίσετε τον κατάλογο έργου για τη βιβλιοθήκη μας. Ένα σύνολο settings.gradle θα πρέπει να είναι όπως παρακάτω:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip') 

5.1 Εάν αντιμετωπίσετε σφάλμα "Προεπιλεγμένη διαμόρφωση", δοκιμάστε αυτό αντί του βήματος 5,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. Στο app/build.gradle προσθέστε το έργο της βιβλιοθήκης μας ως εξάρτηση:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    } 

6.1. Εάν ακολουθήσατε το βήμα 5.1, ακολουθήστε αυτό το αντί για το 6,

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. Εάν το έργο της βιβλιοθήκης σας δεν έχει αρχείο build.gradle , πρέπει να το δημιουργήσετε με το χέρι. Ακολουθεί ένα παράδειγμα αυτού του αρχείου:

    apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        } 
  2. Επιπλέον, μπορείτε να δημιουργήσετε μια παγκόσμια διαμόρφωση για το έργο σας, η οποία θα περιέχει εκδόσεις SDK και έκδοση εργαλείων για κάθε μονάδα για να διατηρηθεί η συνέπεια. Απλά επεξεργαστείτε το αρχείο gradle.properties και προσθέστε γραμμές:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21 

    Τώρα μπορείτε να το χρησιμοποιήσετε στα αρχεία build.gradle (σε ενότητες εφαρμογών και βιβλιοθηκών) όπως παρακάτω:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //... 
  3. Αυτό είναι όλο. Απλά κάντε κλικ, συγχρονίστε το έργο με το εικονίδιο Gradle συγχρονίστε με το Gradle . Η βιβλιοθήκη σας θα πρέπει να είναι διαθέσιμη στο έργο σας.

Google I / O 2013 - Το νέο σύστημα Android SDK Build είναι μια εξαιρετική παρουσίαση για την κατασκευή εφαρμογών Android με το σύστημα Gradle Build: Όπως δήλωσε ο Xavier Ducrohet:

Το Android Studio έχει να κάνει με την επεξεργασία, τον εντοπισμό σφαλμάτων και τη δημιουργία προφίλ. Δεν πρόκειται να χτίσετε πια.

Στην αρχή μπορεί να είναι λίγο συγκεχυμένη (ειδικά για εκείνους που εργάζονται με την Eclipse και δεν έχουν δει ποτέ το μυρμήγκι - όπως εμένα)), αλλά στο τέλος το Gradle μας δίνει μερικές μεγάλες ευκαιρίες και αξίζει να μάθουμε αυτό το build σύστημα.

5 comments
6 victor n. 05/24/2013
hey εκεί, εξήγησα απόλυτα το πραγματικό θέμα. ψηφίζοντας την απάντησή σας έτσι ώστε να μπορούν να το δουν και άλλοι άνθρωποι. ένα δευτερεύον πράγμα που δεν δουλεύει στην πλευρά μου είναι η αναφορά στη βιβλιοθήκη υποστήριξης στο build.gradle της εξάρτησης. όπως αποδεικνύεται ": Το έργο / libs ..." δεν λειτούργησε για κάποιο λόγο. έπρεπε να καταργήσω την αναγνώριση του έργου. έτσι 'libs / ...'. και συντάχθηκε ωραία. ένα σημείωμα είναι ότι αυτοί οι δύο τρόποι αναφοράς πορειών ή έργων είναι συγκεχυμένοι. Ελπίζω να εμφανιστεί ένα απλό και ενοποιημένο σχέδιο στο μέλλον. δεν υπάρχει λόγος να μην λειτουργήσει η αρχική λύση.
9 Akbar ibrahim 05/24/2013
+1. Αγωνιζόταν με αυτό για μεγάλο χρονικό διάστημα. Όπως δήλωσε ο victor n , η αναφορά στο βάζο υποστήριξης του κύριου έργου από την ενότητα actionbarsherlock δεν λειτουργεί. Έπρεπε να κάνω τα παρακάτω για να το δουλέψω ... (1) Αφαιρέστε τα αρχεία compile ('libs / android-support-v4.jar') από το build.gradle του project. Η κύρια ενότητα θα πρέπει να έχει μόνο ένα έργο (": libraries: actionbarsherlock") . (2) Προσθέστε αρχεία compile ('libs / android-support-v4.jar') αντί να μεταγλωττίσετε αρχεία (': HelloWorld / libs / android-support-v4.jar') στο build.gradle του actionbarsherlock.
8 alicanbatur 11/07/2013
Γιατί δεν έχω την ενότητα "Εισαγωγή μονάδας", στην επιλογή που μας κατευθύνει; Χρησιμοποιώ το Android Studio 0.3.1
5 amalBit 02/08/2014
Η επιλογή Module Import λείπει !!
147 Kyle Gobel 10/19/2014
Γιατί είναι τόσο άσχημο αυτό το ζήτημα;

Sam Rad 07/01/2016.

Εδώ είναι ο οπτικός οδηγός:

Update για το Android Studio 0.8.2:

Στο Android Studio 0.8.2, μεταβείτε στη Project Structure -> κάτω από τις Modules απλά πατήστε το πλήκτρο συν και επιλέξτε Import Existing Project και εισαγάγετε το actionbarsherlock . Στη συνέχεια, συγχρονίστε τα αρχεία Gradle.

Εάν αντιμετωπίσετε το σφάλμα

Σφάλμα: Η αναθεώρηση των Εργαλείων δημιουργίας SDK (xx.xx) είναι πολύ χαμηλή. Το ελάχιστο απαιτούμενο είναι yy.yy

απλά ανοίξτε το αρχείο actionbarsherlock directory actionbarsherlock και ενημερώστε το buildToolsVersion στο προτεινόμενο.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y' 

Android Studio 0.8.2


File μενού -> Project Structure... :

Πρώτα

Module -> Import Module

Δεύτερος

Μετά την εισαγωγή της λειτουργικής μονάδας βιβλιοθήκης, επιλέξτε την ενότητα του έργου your και προσθέστε την εξάρτηση:

Τρίτος

Στη συνέχεια, επιλέξτε την imported module :

Εμπρός

5 comments
29 amalBit 02/08/2014
Η επιλογή ενότητας εισαγωγής δεν είναι διαθέσιμη στο Android Studio4.3
3 toobsco42 08/25/2014
Το κλειδί για μένα να κάνω αυτό το έργο και να επιλύσω τα πακέτα που δεν βρέθηκαν σφάλματα ήταν το βήμα Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
Αυτό θα αντιγράψει την ενότητα βιβλιοθήκης στο έργο σας, κάτι που δεν είναι αυτό που θέλετε αν θέλετε μια κοινή βάση κώδικα που μοιράζεται μεταξύ πολλών έργων
CCJ 11/13/2015
@amalBit είστε ... είστε από το μέλλον; Αλλά σοβαρά, πρέπει να κάνουν αυτό απλό όπως ήταν στο Eclipse ADT. ποιος θέλει να χτυπήσει ένα repo τρίτου μέρους και να μεταγλωττίσει (ενδεχομένως) αυθαίρετο κώδικα σε κάθε κατασκευή; Αυτό υπονομεύει σοβαρά πρωτόκολλα QA και παγώματος κώδικα
amalBit 11/17/2015
Ήταν πολύ πίσω κατά τη διάρκεια των ημερών beta του Android studio 0.4.3. Όσον αφορά την προσχώρηση τρίτου συμβαλλόμενου μέρους, λένε id, αποφύγετε τη χρήση +. Απλά ορίστε την έκδοση u που θέλετε. Εάν u εξακολουθεί να το λοξοτομείτε να το εμπιστεύεστε αρκετά, το u μπορεί να δημιουργήσει ένα βάζο (ή κλώνο) οποιουδήποτε repo και να το χρησιμοποιήσει.

Blackbelt 07/01/2016.

Χρησιμοποιήστε το μενού File -> Project Structure -> Modules .

Άρχισα να το χρησιμοποιώ σήμερα. Είναι λίγο διαφορετικό.

Για το Sherlock, ίσως θέλετε να διαγράψετε τον κατάλογο δοκιμών ή να προσθέσετε το αρχείο junit.jar στο classpath.

Για να εισαγάγετε τη βιβλιοθήκη χρησιμοποιώντας το ποντίκι, μπορείτε να το προσθέσετε στην ενότητα dependencies του build.gradle (το τμήμα της μονάδας).

Π.χ

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
} 

Το Android Studio αλλάζει.

Υπάρχει μια ενότητα που ονομάζεται "Ανοικτές ρυθμίσεις μονάδας" αν κάνετε δεξί κλικ σε ένα φάκελο μονάδας στην ενότητα του έργου του Android Studio (χρησιμοποιώ την έκδοση 0.2.10).

5 comments
1 Alexander Kulyakhtin 05/16/2013
Hmm εξακολουθεί να λέει το android-apt-compiler: styles.xml: 5: error: Σφάλμα κατά την ανάκτηση γονέα για το στοιχείο: Δεν βρέθηκε πόρος που να ταιριάζει με το όνομα "Theme.Sherlock.Light.DarkActionBar".
Blackbelt 05/16/2013
Κάτω από το Module Sherlock -> Dependecies Έχω το Android 4.2.2 και την υποστήριξη Βιβλιοθήκη v4
Blackbelt 05/16/2013
@ ρяσѕрєяK δίπλα στο κουμπί εκτέλεσης, υπάρχει μια ετικέτα με Android. Εάν πατήσετε εκεί, θα βρείτε την Επεξεργασία διαμόρφωσης. Πιέστε και κάτω από τη συσκευή προορισμού κάντε κλικ στο "Show Chooser Dialg"
7 fish 05/16/2013
Γεια σου, έχω το ίδιο πρόβλημα με τον Alex ("Gradle: Σφάλμα κατά την ανάκτηση γονέα για το στοιχείο: Δεν βρέθηκε πόρος που να ταιριάζει με το όνομα" Theme.Sherlock.Light ".) - Η εξάρτηση της Java φαίνεται να έχει λυθεί σωστά, Το IDE δεν κατηγορεί την SherlockActivity μου, αλλά για κάποιο λόγο ο Gradle δεν φαίνεται να εξετάζει τους πόρους του ABS. Καμιά ιδέα?
4 Konrad Morawski 09/15/2013
Στο Android Studio 0.2.8 δεν υπάρχει ενότητα Modules στο παράθυρο Project Structure .

Jonathan Lin 10/14/2013.

Θα ήθελα να εξετάσω τις εξαρτήσεις, τις βιβλιοθήκες Android και την εγκατάσταση πολλαπλών έργων την απαραίτητη ανάγνωση. Αφιερώστε λίγα λεπτά για να το κάνετε.

Ιδιαίτερα, στην περίπτωση ενός έργου μη-βάζας βιβλιοθήκης, διαβάστε το ακόλουθο απόσπασμα από την παραπάνω πηγή:

Τα έργα Gradle μπορούν επίσης να εξαρτώνται από άλλα έργα Gralay χρησιμοποιώντας μια εγκατάσταση πολλαπλών έργων. Μια εγκατάσταση πολλαπλών έργων συνήθως λειτουργεί έχοντας όλα τα έργα ως υποφάκελοι ενός δεδομένου ριζικού έργου.

Για παράδειγμα, δίνονται στην ακόλουθη δομή:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/ 

Μπορούμε να προσδιορίσουμε 3 έργα. Το Gradle θα τα αναφέρει με το ακόλουθο όνομα:

:app
:libraries:lib1
:libraries:lib2 

Κάθε έργο θα έχει δικό του build.gradle δηλώνοντας πώς κατασκευάζεται. Επιπλέον, θα υπάρχει ένα αρχείο που ονομάζεται settings.gradle στη ρίζα που δηλώνει τα έργα. Αυτό δίνει την ακόλουθη δομή:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle 

Το περιεχόμενο του settings.gradle είναι πολύ απλό:

include ':app', ':libraries:lib1', ':libraries:lib2' 

Αυτό καθορίζει ποιο φάκελο είναι στην πραγματικότητα ένα έργο Gradle.

Το έργο: app είναι πιθανό να εξαρτηθεί από τις βιβλιοθήκες, και αυτό γίνεται με τη δήλωση των ακόλουθων εξαρτήσεων:

dependencies {
    compile project(':libraries:lib1')
} 

Παρατηρήστε ότι υπήρχε ελάχιστη ή καθόλου χρήση του GUI του Android Studio για να συμβεί αυτό.

Αυτήν τη στιγμή χρησιμοποιώ υπομονάδες git για να συνδέσω την ενσωματωμένη βιβλιοθήκη με την πραγματική βιβλιοθήκη git repo για να αποφύγετε ένα χάσμα εξάρτησης.

4 comments
Jonathan Lin 10/14/2013
Παρακαλούμε ανατροφοδοτήστε αν βρήκατε αυτό το χρήσιμο, έτσι ώστε οι άλλοι να αποφύγουν τον πόνο και να προχωρήσουν πιο γρήγορα.
RichieHH 03/24/2014
Πολύ χρήσιμο και, το σημαντικότερο, δεν παίζει με τις ιδιοτροπίες gui της ημέρας.
1 dcunited001 04/20/2014
σας ευχαριστώ πολύ για τη συμπερίληψη της μόνης απάντησης που έχει νόημα. κάθε άλλη απάντηση είναι ξεπερασμένη και απλά δεν λειτουργεί. Δεν προσπάθησα καν στην CS στο Virginia Tech γιατί τα πρώτα δύο χρόνια μάθαιναν να πατάς γύρω από την έκλειψη. δεν έκανε καμία αίσθηση fckn, αλλά βλέποντας το αποτέλεσμα της gradle των τυχαίων κλικ σε ένα IDE.
velis 06/01/2015
Ευχαριστώ για την άκρη των υπομονάδων git. Χρησιμοποιούσα τη διασταύρωση πριν, αλλά τώρα άλλαξα σε SVN externals. Δουλεύει άψογα.

René Michel 07/01/2016.

Μόλις βρήκα έναν ευκολότερο τρόπο (αντί να γράφω απευθείας στα αρχεία .gradle).

Αυτό ισχύει για το Android Studio 1.1.0.

  1. File μενού -> New Module... :

    Εισαγωγή υπάρχοντος έργου

    Κάντε κλικ στην επιλογή "Εισαγωγή υπάρχοντος έργου".

  2. Επιλέξτε την επιθυμητή βιβλιοθήκη και την επιθυμητή μονάδα.

  3. Κάντε κλικ στο τέλος. Το Android Studio θα εισαγάγει τη βιβλιοθήκη στο έργο σας. Θα συγχρονίσει τα αρχεία σταυρών.

  4. Προσθέστε την εισαγόμενη ενότητα στις εξαρτήσεις του έργου σας.

    Κάντε δεξί κλικ στο φάκελο εφαρμογής -> Άνοιγμα ρυθμίσεων μονάδας -> μεταβείτε στην καρτέλα εξαρτήσεων -> Κάντε κλικ στο κουμπί '+' -> κάντε κλικ στην επιλογή Εξάρτηση μονάδας.

    Στη συνέχεια, η ενότητα βιβλιοθήκης θα προστεθεί στις εξαρτήσεις του έργου.

    Προσθήκη αρχείου βιβλιοθήκης

  5. ???

  6. Κέρδος


Vilen 07/01/2016.

Ο ευκολότερος τρόπος που έχω διαπιστώσει ότι περιλαμβάνει το έργο εξωτερικής βιβλιοθήκης είναι (για παράδειγμα, να συμπεριλάβει μια βιβλιοθήκη στο Facebook, η οποία είναι αποθηκευμένη σε έναν κατάλογο στον φάκελο εξαρτήσεων):

  1. Στο μενού settings.gradle προσθέστε

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. Στην ενότητα build dependencygraph, προσθέστε

    compile project ('facebook') 

Όλα τα υπόλοιπα που πρέπει να κάνετε είναι να συγχρονίσετε το έργο με αρχεία ανάγνωσης.

4 comments
Rajnish Mishra 03/23/2015
Γεια σου Vilen τι είναι ρυθμίσειςDir εδώ
Vilen 04/02/2015
Γεια σου Rajnish. Από την τεκμηρίωση: settingsDir Επιστρέφει τον κατάλογο ρυθμίσεων της κατασκευής. Ο κατάλογος ρυθμίσεων είναι ο κατάλογος που περιέχει το αρχείο ρυθμίσεων. Επιστρέφει: Ο κατάλογος ρυθμίσεων. Ποτέ δεν επιστρέφει null.
Rajnish Mishra 04/03/2015
Οι δύο κουκίδες πριν / οι εξαρτήσεις είναι πιο σημαντικές για να φροντίζετε Η απάντησή σας με βοηθά πολύ .. Ευχαριστώ
Solata 11/18/2015
NOTE: Για την αξιολόγηση της συμβολοσειράς στο grale θα πρέπει να χρησιμοποιήσετε το διπλό quote (") .Αυτό το" save the day "για μένα.

Eugene Bosikov 07/01/2016.

Ένας απλός τρόπος για να προσθέσετε ένα αρχείο JAR ως βιβλιοθήκη στο έργο σας στο Android Studio:

α) Αντιγράψτε τα αρχεία * .jar

β) Επικολλήστε τον κατάλογο libs στα έργα σας:

Εισαγάγετε την περιγραφή εικόνας εδώ

γ) Προσθήκη στο build.grayl:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
} 

β) Αν το έργο σας από το παράδειγμα com.example.MYProject και τις βιβλιοθήκες com.example.ScanAPI έχει το ίδιο πεδίο ονομάτων com.example , το Android Studio θα ελέγξει την κατασκευή σας και θα δημιουργήσει όλες τις απαραίτητες αλλαγές στο έργο σας. Στη συνέχεια, μπορείτε να ελέγξετε αυτές τις ρυθμίσεις στο μενού File -> Project Structure .

γ) Εάν το έργο και οι βιβλιοθήκες σας έχουν διαφορετικό χώρο ονομάτων , πρέπει να κάνετε δεξί κλικ στη βιβλιοθήκη και να επιλέξετε "Προσθήκη ως Βιβλιοθήκη" και να επιλέξετε τον τύπο που χρειάζεστε.

Θυμηθείτε ότι η επιλογή "Δομή έργου" δεν κάνει καμία αυτόματη αλλαγή στο "build.gradle" στην τρέχουσα έκδοση του Android Studio (0.2.3). Ίσως αυτή η δυνατότητα να είναι διαθέσιμη στις επόμενες εκδόσεις.


pathe.kiran 06/27/2016.

Επιλογή 1: Καταργήστε αρχεία στον κατάλογο libs του έργου

Το σχετικό αρχείο build.gradle θα ενημερωθεί αυτόματα.

Επιλογή 2: Τροποποίηση του αρχείου build.gradle Μη αυτόματα

Ανοίξτε το αρχείο build.gradle και προσθέστε ένα νέο κανόνα δημιουργίας στο κλείσιμο εξαρτήσεων. Για παράδειγμα, εάν θέλετε να προσθέσετε υπηρεσίες Google Play, η ενότητα εξαρτήσεων του έργου σας θα φαίνεται κάπως έτσι:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   } 

Επιλογή 3: Χρησιμοποιήστε τη διεπαφή χρήστη του Android Studio

Στον πίνακα "Έργο", κάντε κλικ στο στοιχείο Ελέγχου + στην ενότητα στην οποία θέλετε να προσθέσετε την εξάρτηση και επιλέξτε "Ανοίξτε τις ρυθμίσεις μονάδας".

Εισαγάγετε την περιγραφή εικόνας εδώ

Επιλέξτε την καρτέλα "Εξαρτήσεις", ακολουθούμενη από το κουμπί + στην κάτω αριστερή γωνία. Μπορείτε να επιλέξετε από την ακόλουθη λίστα επιλογών:

  • Βιβλιοθήκη Εξάρτηση
  • Αρχή Εξάρτησης
  • Εξάρτηση της ενότητας

Στη συνέχεια, μπορείτε να εισαγάγετε περισσότερες πληροφορίες σχετικά με την εξάρτηση που θέλετε να προσθέσετε στο έργο σας. Για παράδειγμα, αν επιλέξετε την Εξάρτηση Βιβλιοθήκης, το Android Studio εμφανίζει μια λίστα βιβλιοθηκών για να διαλέξετε.

Μόλις προσθέσετε την εξάρτησή σας, ελέγξτε το αρχείο build.gradle σε επίπεδο ενότητας. Θα πρέπει να έχει ενημερωθεί αυτόματα για να συμπεριλάβει τη νέα εξάρτηση.

Πηγή


drewan50 07/01/2016.

Αν χρειάζεστε πρόσβαση στους πόρους ενός έργου βιβλιοθήκης (όπως συμβαίνει με το ABS), βεβαιωθείτε ότι προσθέτετε το έργο / μονάδα βιβλιοθήκης ως "Εξάρτηση μονάδας" αντί για "Βιβλιοθήκη".

1 comments
1 cosimo 04/01/2014
Ναί! Μπορείτε να κερδίσετε το Διαδίκτυο! Ευχαριστώ! Έχω χάσει μόνο μερικές ώρες της ζωής μου γιατί δεν το ήξερα.

pandabear 07/01/2016.

Αυτό είναι το πώς λειτουργεί για μένα στο Android Studio 1.5

Στο έργο στο οποίο θέλετε να προσθέσετε εξωτερική εργασία βιβλιοθήκης, μεταβείτε στο μενού File -> New -> * Εισαγωγή νέας ενότητας **, μεταβείτε στο έργο της βιβλιοθήκης που θέλετε να προσθέσετε στο έργο σας, επιλέξτε να προσθέσετε την ενότητα 'βιβλιοθήκη' το έργο σας. Θα λάβετε settings.gradle στα έργα σας, δίπλα από την εφαρμογή, συμπεριλαμβανομένης της βιβλιοθήκης, κάτι σαν αυτό:

include ':app', ':library' 

Προσθήκη στο build.gradle(Module :app) στην ενότητα εξαρτήσεων:

Compile project(':library')

Ανακατασκευάστε το έργο και αυτό είναι.

* Μπορείτε να προσθέσετε όσες βιβλιοθήκες (ενότητες) θέλετε. Σε αυτή την περίπτωση στο settings.gradle θα έχετε:

include ':app', ':lib1', ':lib2', ... 

Και στο build.grada, θα πρέπει να έχετε:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
} 

Adiii 07/01/2016.

Μπορείτε να το κάνετε εύκολα. Μεταβείτε στο μενού File -> New -> Import Module... :

Εισαγάγετε την περιγραφή εικόνας εδώ

Περιηγηθείτε στον κατάλογο που περιέχει την ενότητα. Κάντε κλικ στο κουμπί Τέλος:

Εισαγάγετε την περιγραφή εικόνας εδώ

Μεταβείτε στη Project Structure και προσθέστε την Module Dependency :

Εισαγάγετε την περιγραφή εικόνας εδώ

Σημείωση: Εάν λάβετε ένα σφάλμα SDK, ενημερώστε το.


Dalmas 06/27/2016.

Για να προσθέσετε την απάντηση: Εάν το IDE δεν εμφανίζει κάποιο σφάλμα, αλλά όταν προσπαθείτε να καταρτίσετε, θα έχετε κάτι σαν:

No resource found that matches the given name 'Theme.Sherlock.Light' 

Το έργο της βιβλιοθήκης σας πιθανόν να καταρτιστεί ως έργο εφαρμογής. Για να αλλάξετε αυτό, πηγαίνετε στο:

File μενού -> Project structure -> Facets -> [Όνομα βιβλιοθήκης] -> Επιλέξτε "Μονάδα βιβλιοθήκης".


crossle 07/01/2016.
  1. Πατήστε το πλήκτρο F4 για να εμφανίσετε τη Project Structure , κάντε κλικ στις βιβλιοθήκες ή τις βιβλιοθήκες της Global και κάντε κλικ στο + για να προσθέσετε το αρχείο JAR.
  2. Κάντε κλικ στην ενότητα Ενότητες που θέλετε να προσθέσετε βάζο, επιλέξτε την καρτέλα Dependencies , κάντε κλικ στο + και προσθέστε τη Βιβλιοθήκη.

Shakti Malik 07/01/2016.

Η επεξεργασία των εξαρτήσεων βιβλιοθήκης μέσω του GUI δεν είναι σκόπιμη, καθώς δεν γράφει αυτές τις αλλαγές στο αρχείο build.gradle. Έτσι, το σχέδιό σας δεν θα χτίσει από τη γραμμή εντολών. Θα πρέπει να επεξεργαστούμε το αρχείο build.gradle απευθείας ως εξής.

Για παράδειγμα, δίνονται στην ακόλουθη δομή:

Το πρότζεκτ μου/

  • app /
  • βιβλιοθήκες /
    • lib1 /
    • lib2 /

Μπορούμε να προσδιορίσουμε τρία έργα. Το Gradle θα τα αναφέρει με τα ακόλουθα ονόματα:

  1. : app
  2. : βιβλιοθήκες: lib1
  3. : βιβλιοθήκες: lib2

Το έργο: app είναι πιθανό να εξαρτηθεί από τις βιβλιοθήκες, και αυτό γίνεται με τη δήλωση των ακόλουθων εξαρτήσεων:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
Πραγματικά? Παράξενο, έχουν ολόκληρο το GUI και όμως δεν είναι σκόπιμο. Πως και έτσι?
Shakti Malik 05/23/2013
Καθώς η επεξεργασία μέσω GUI δεν γράφει αυτές τις αλλαγές στο αρχείο build.gradle. Η επεξεργασία GUI αποθηκεύει μόνο αλλαγές στα δεδομένα έργου του IntelliJ. Αυτό είναι ένα σφάλμα που θα καθοριστεί σε μελλοντικές κυκλοφορίες. Μπορείτε να ανατρέξετε σε αυτήν την απάντηση από το Google Leader Team Android-Studio Team stackoverflow.com/questions/16678447/...

Erwan 05/17/2013.

Μετά την εισαγωγή της μονάδας ABS (από Αρχείο> Δομή έργου) και βεβαιωθείτε ότι έχει το Android 2.2 και το Support Library v4 ως εξαρτήσεις, έβγαλα ακόμα το ακόλουθο σφάλμα καθώς εσύ @Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar' 

Πρόσθεσα τη νέα εισαγόμενη λειτουργική μονάδα ως εξάρτηση από την κύρια εφαρμογή της εφαρμογής μου και το πρόβλημα αυτό επιδιορθώθηκε.

3 comments
christiaanderidder 05/19/2013
Προσπάθησα όλα τα βήματα που συμπεριλάμβαναν την προσθήκη της μονάδας ως εξάρτησης, αλλά εξακολουθώ να έχω Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. . Φαίνεται ότι το κύριο έργο μου δεν βλέπει τους πόρους του έργου της βιβλιοθήκης (ABS). Ωστόσο, ο IDE αναγνωρίζει τις αναφορές σε κατηγορίες και πόρους. Screenshot
Calvin Chan 06/04/2013
Το ίδιο και εδώ. Ποιος μπορεί να λύσει αυτό;
Dmitriy Tarasov 06/06/2013
Είμαι μεταναστεύω στο IDEA 13 από 12 και έχω αυτό το λάθος πάρα πολύ. Μόνο επανεισαγωγή για όλες τις εξαρτήσεις μου θα βοηθήσει. Καταργήστε με μη αυτόματο τρόπο όλες τις μονάδες, αφαιρέστε τα σχετικά αρχεία * .iml και επανεισάγετε τα libs σας

azh 02/09/2014.

Για να επιλύσετε αυτό το πρόβλημα, πρέπει απλώς να προσθέσετε τη διαδρομή πόρων του abs στο αρχείο δημιουργίας του έργου σας, ακριβώς όπως παρακάτω:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
} 

Συνεπώς, συντάσσομαι ξανά χωρίς λάθη.


Hemant 07/01/2016.

First Way Αυτό λειτουργεί για MacBook.

Πρώτα επιλέξτε το αρχείο builder.gradle ως δεδομένη οθόνη:

Εισαγάγετε την περιγραφή εικόνας εδώ

Προσθέστε εξαρτήσεις όπως στην επιλεγμένη οθόνη:

Εισαγάγετε την περιγραφή εικόνας εδώ

Επιλέξτε σχέδιο συγχρονισμού.

Εάν εμφανίζεται ένα σφάλμα όπως "Έργο με διαδρομή": Δεν βρέθηκε υπογραφή-pad "στο έργο": app "", τότε χρησιμοποιήστε τον δεύτερο τρόπο:

Επιλέξτε το μενού File -> New -> Import Module... :

Εισαγάγετε την περιγραφή εικόνας εδώ

Αφού κάνετε κλικ στην Import Module ,

Εισαγάγετε την περιγραφή εικόνας εδώ

δώστε τη διαδρομή της βιβλιοθήκης όπως η διαδρομή μου MacBook:

Εισαγάγετε την περιγραφή εικόνας εδώ

Κάντε κλικ στο Finish . Τώρα η βιβλιοθήκη σας προστίθεται.


Braunster 02/09/2014.

Εάν διαθέτετε το Android Studio .0.4.0, μπορείτε να δημιουργήσετε ένα νέο φάκελο στη διαδρομή build σας, YourApp/libraries . Αντιγράψτε το αρχείο JAR. Εκεί, κάντε δεξί κλικ σε αυτό και "Προσθήκη ως Βιβλιοθήκη". Τώρα έχετε ένα αναδυόμενο παράθυρο. Απλά επιλέξτε τον κατάλογό σας και πατήστε OK και αυτό είναι.


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 είναι ο σύνδεσμος Dropbox για τον τρόπο προσθήκης ενός αρχείου JAR και ενός έργου βιβλιοθήκης στην τελευταία έκδοση του Android Studio 1.0.1.

Ανατρέξτε στην τεκμηρίωση με στιγμιότυπα οθόνης. Είναι πολύ εύκολο για έναν νέο χρήστη.


passsy 05/23/2017.

Βρήκα τη λύση. Είναι τόσο απλό. Ακολουθήστε τις οδηγίες froger_mcs .

Βεβαιωθείτε ότι έχετε δημιουργήσει το φάκελο src φάκελο Source στο Project Structure -> Modules (Πηγές).

Εισαγάγετε την περιγραφή εικόνας εδώ


voghDev 05/23/2017.

Ένα παράδειγμα επιτυχούς προσθήκης μιας άλλης βιβλιοθήκης (PullToRefresh). Επίσης λειτουργεί για ABS libproject.

Αυτή η ερώτηση SO

Αυτή η ανάρτηση


Mohammad 05/23/2017.

Βασικά, μπορείτε να συμπεριλάβετε τα αρχεία JAR με τρεις διαφορετικούς τρόπους. Το τελευταίο είναι απομακρυσμένη βιβλιοθήκη που χρησιμοποιεί https://bintray.com/ jcenter online αποθετήριο. Αλλά αν το κάνετε με έναν από τους δύο άλλους τρόπους, το αρχείο JAR θα συμπεριληφθεί φυσικά στο έργο σας. Διαβάστε αυτό το σύνδεσμο https://stackoverflow.com/a/35369267/5475941 για περισσότερες πληροφορίες. Σε αυτή την ανάρτηση εξήγησα πώς να εισάγω το αρχείο JAR στο στούντιο Android και εξήγησα όλους τους πιθανούς τρόπους.

Συνοπτικά, εάν είναι έτσι (τοπική διεύθυνση), κατεβάζονται και αυτά τα αρχεία JAR είναι φυσικά στο έργο:

εισάγετε την περιγραφή εικόνας εδώ

Αλλά αν πρόκειται για μια διαδικτυακή διεύθυνση όπως αυτή, είναι απομακρυσμένες βιβλιοθήκες (bintray.com jcenter part) και θα χρησιμοποιηθούν εξ αποστάσεως:

εισάγετε την περιγραφή εικόνας εδώ

Ελπίζω ότι βοηθάει.


Jinu 06/27/2016.

Ανοίξτε το αρχείο εφαρμογής του module apple module και προσθέστε την εξάρτησή σας. Εάν πραγματοποιήσετε λήψη της βιβλιοθήκης, απλώς εισαγάγετε και κατασκευάστε ως πινέλο.

Διαφορετικά, προσθέστε αποθετήρια στην εφαρμογή μονάδας πλευρικών διαβαθμίσεων:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
} 

Τα πρώτα αποθετήρια θα κατεβάσουν τη βιβλιοθήκη για εσάς.

Και να συντάξετε τη ληφθείσα βιβλιοθήκη:

compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    } 

Εάν δημιουργείτε μια βιβλιοθήκη, πρέπει απλώς να εισαγάγετε το έργο ως νέα μονάδα εισαγωγής.


Dharmendra Pratap 06/27/2016.

Στο Android Studio, μεταβείτε στο εσωτερικό φάκελο της εφαρμογής και ανοίξτε το αρχείο build.gradle. Εδώ θα δείτε εξαρτήσεις {}. Μέσα σε αυτό μπορείτε να προσθέσετε το έργο της βιβλιοθήκης και να συγχρονίσετε. Τώρα μετά το συγχρονισμό της βιβλιοθήκης θα προστεθεί στο έργο σας και μπορείτε να χρησιμοποιήσετε τις λειτουργίες και τις κατηγορίες του στο έργο σας.


MAMASSI 07/01/2016.

Για το Android Studio:

Εισαγάγετε την περιγραφή εικόνας εδώ

Κάντε κλικ στην επιλογή Build.gradle (module: app) .

Και προσθέστε για

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
} 

και στον κατάλογο "app", δημιουργήστε έναν κατάλογο, "libs". Προσθέστε το αρχείο yourfile.jar:

Εισαγάγετε την περιγραφή εικόνας εδώ

Τέλος, καταρτίστε τα αρχεία Gradle:

Εισαγάγετε την περιγραφή εικόνας εδώ

1 comments
Badre 03/23/2016
Dude respect: D

Pankaj kumar 07/01/2016.

Απλά εισάγετε το έργο της βιβλιοθήκης Android ως μονάδα και στο Build.gradle .

Εφαρμογή προσθήκης: 'com.android.library'

Στη συνέχεια, ακολουθήστε τα εξής βήματα:

  1. Κάντε δεξί κλικ στην Ενότητα και επιλέξτε ανοικτές ρυθμίσεις μονάδας
  2. Επιλέξτε εξαρτήσεις, κάντε κλικ στο + , επιλέξτε εξαρτήσεις βιβλιοθήκης και προσθέστε την προηγούμενη εισαγόμενη μονάδα.

jobbert 07/01/2016.

Είχα μια διαφορετική αιτία του προβλήματος και για τους ανθρώπους:

repositories {
    mavenCentral()
} 

αλλάξτε mavenCentral () στο jcenter () και προσθέστε

allprojects {
    repositories {
        jcenter()
    }
} 

Επίσης, αντιμετώπισα το ίδιο πρόβλημα και έκανα τα ακόλουθα πράγματα.

  1. Εισάγω το έργο της βιβλιοθήκης στο IDE του AndroidStudio ως μονάδα που χρησιμοποιεί το μενού File -> Import modules menu

  2. Στη συνέχεια πήγα στην κύρια ενότητα στην οποία θέλω το έργο της βιβλιοθήκης ως εξαρτημένο έργο

  3. Κάντε δεξί κλικ στην κύρια μονάδα (στην περίπτωσή μου το όνομά της είναι app ) -> ανοιχτή ρύθμιση μονάδας -> μεταβείτε στην καρτέλα εξαρτήσεων -> κάντε κλικ στο κουμπί + (θα το πάρετε στη δεξιά πλευρά του παραθύρου) -> κάντε κλικ στην εξάρτηση της μονάδας - > επιλέξτε το έργο της βιβλιοθήκης σας από τη λίστα

Εφαρμόστε τις αλλαγές και κάντε κλικ στο κουμπί OK .

Εργάστηκε για μένα. Ελπίζω ότι θα βοηθήσει και τους άλλους.


monn3t 07/01/2016.

Πράγματι, καθώς οι εκδόσεις αλλάζουν, αλλάζει η διεπαφή χρήστη και οι διαθέσιμες επιλογές στο μενού. Αφού διάβασα τις περισσότερες απαντήσεις σε αυτές τις ερωτήσεις, έπρεπε να μαντέψω τι θα μπορούσε να λειτουργήσει για το Android Studio 1.1.0 .

  1. Με το ποντίκι σας, επιλέξτε το έργο στο κύριο επίπεδο (εδώ εμφανίζεται το όνομα της εφαρμογής σας).

  2. Κάντε δεξί κλικ και επιλέξτε τις επιλογές μενού New, Folder, Assets Folder .

  3. Μετά τη δημιουργία του φακέλου στοιχείων, επικολλήστε ή αντιγράψτε σε αυτό, ανεξάρτητα από το αρχείο JAR που χρειάζεστε για τη βιβλιοθήκη σας.

  4. Από το κύριο μενού του Android Studio (στην κορυφή της οθόνης) επιλέξτε File -> Project Structure .

  5. Στη συνέχεια, επιλέξτε το όνομα του έργου σας και μεταβείτε στην καρτέλα Dependencies .

  6. Κάντε κλικ στο σύμβολο συν ( + ) στο κάτω αριστερό μέρος του παραθύρου διαλόγου και επιλέξτε την εξάρτηση αρχείων.

  7. Τέλος, ανοίξτε το φάκελο των πρόσφατα δημιουργημένων στοιχείων, επιλέξτε τα αρχεία JAR που αντιγράψατε και, στη συνέχεια, κάντε κλικ στην επιλογή apply και OK .

Καθαρίστε και ανοικοδομήστε το έργο σας.

2 comments
1 Rajnish Mishra 03/23/2015
κάνοντας αντίγραφα των βάζων σε περιουσιακά στοιχεία δεν είναι καλή ιδέα ότι θα αυξηθεί άσκοπα το μέγεθος apk
monn3t 04/12/2015
Ευχαριστώ για την συμβουλή @RajnishMishra. Υποψιάστηκα αυτό, αλλά τι προτείνετε αντ 'αυτού;

Related questions

Hot questions

Language

Popular Tags