Bagaimanakah saya menambah projek perpustakaan untuk Android Studio?

Alexander Kulyakhtin 08/22/2017. 29 answers, 544.786 views
android android actionbarsherlock android-library android-studio android-studio

Bagaimanakah saya menambah projek perpustakaan (seperti Sherlock ABS) ke Android Studio ?

(Bukan untuk bundle berdasarkan Eclipse ADT lama, tetapi ke Android Studio baru.)

4 Comments
25 Daniel Smith 05/21/2013
yeah memikirkan perkara ini adalah lebih mengelirukan daripada sepatutnya ... tidak seperti yang lebih baik dalam gerhana.
3 user1785900 01/19/2014
Video YouTube How to Add Libraries to Android Studio menerangkan prosesnya.
1 craned 10/16/2014
Jika anda menggunakan Gradle , lihat jawapan StackOverflow ini.
1 Simon 12/20/2014
Berikut ialah video yang saya dapati berguna: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

Sejak Android Studio 1.0 dilancarkan (dan banyak versi antara v1.0 dan salah satu yang pertama dari masa jawapan saya dahulu) beberapa perkara telah berubah.

Penerangan saya memberi tumpuan kepada menambah projek perpustakaan luaran dengan tangan melalui fail Gradle (untuk memahami proses yang lebih baik). Jika anda ingin menambah pustaka melalui pencipta Android Studio cuma semak jawapan di bawah dengan panduan visual (terdapat beberapa perbezaan antara Android Studio 1.0 dan orang-orang dari tangkapan skrin, tetapi prosesnya sangat serupa).

Sebelum anda mula menambahkan perpustakaan ke projek anda dengan tangan, pertimbangkan untuk menambah kebergantungan luaran. Ia tidak akan hancur dalam struktur projek anda. Hampir setiap perpustakaan Android terkenal tersedia di repositori Maven dan pemasangannya hanya mengambil satu baris kod dalam fail app/build.gradle :

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

Adding the library

Berikut adalah proses penuh untuk menambah perpustakaan Android luaran untuk projek kami:

  1. Buat projek baru melalui pencipta Android Studio. Saya menamakannya HelloWorld .
  2. Berikut adalah struktur projek asal yang dibuat oleh 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. Dalam direktori root ( HelloWorld/ ), buat folder baru: /libs di mana kami akan meletakkan perpustakaan luaran kami (langkah ini tidak diperlukan - hanya untuk menjaga struktur projek bersih).
  2. Tampalkan pustaka anda dalam folder yang baru dibuat /libs . Dalam contoh ini saya menggunakan perpustakaan PagerSlidingTabStrip (hanya memuat turun ZIP dari GitHub, menamakan semula direktori perpustakaan kepada "PagerSlidingTabStrip" dan menyalinnya). Berikut adalah struktur baru projek kami:
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. Edit settings.gradle dengan menambahkan pustaka anda untuk include . Jika anda menggunakan jalan tersuai seperti yang saya lakukan, anda juga perlu menentukan direktori projek untuk perpustakaan kami. Seting.gradle keseluruhan sepatutnya kelihatan seperti di bawah:

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

5.1 Jika anda menghadapi ralat "Konfigurasi Lalai", cuba ini bukan langkah 5,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. Dalam app/build.gradle menambah projek perpustakaan kami sebagai pergantungan:

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

6.1. Sekiranya anda mengikuti langkah 5.1, maka ikuti ini dan bukannya 6,

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

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. Jika projek perpustakaan anda tidak mempunyai fail build.gradle anda perlu membuatnya secara manual. Berikut adalah contoh fail itu:

    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. Di samping itu, anda boleh membuat konfigurasi global untuk projek anda yang akan mengandungi versi SDK dan membina versi alat untuk setiap modul agar tetap konsisten. Hanya gradle.properties fail gradle.properties dan tambahkan baris:

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

    Kini anda boleh menggunakannya dalam fail build.gradle anda (dalam aplikasi dan modul perpustakaan) seperti di bawah:

    //...
    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. Itu sahaja. Hanya klik, menyegerakkan projek dengan ikon Gradle ' menyegerakkan dengan Gradle . Perpustakaan anda harus tersedia dalam projek anda.

Google I / O 2013 - Sistem Pembina SDK Android Baru adalah persembahan hebat tentang membina aplikasi Android dengan Gradle Build System: Seperti yang dikatakan oleh Xavier Ducrohet:

Android Studio adalah mengenai pengeditan, dan debugging dan pemprofilan. Ia bukannya membina lagi.

Pada mulanya ia mungkin sedikit mengelirukan (terutamanya bagi mereka, yang bekerja dengan Eclipse dan tidak pernah melihat semut seperti saya;)), tetapi pada Gradle akhir memberi kita beberapa peluang yang hebat dan bernilai untuk mempelajari sistem binaan ini.

5 comments
6 victor n. 05/24/2013
hei di sana, anda betul-betul menjelaskan isu sebenar. mengundi jawapan anda supaya orang lain dapat melihatnya. satu perkara kecil yang tidak berfungsi di pihak saya adalah merujuk perpustakaan sokongan di build.gradle dependence. kerana ternyata ': Project / libs ...' tidak berfungsi dengan sebab tertentu. saya terpaksa menghapuskan pengenalan projek. jadi 'libs / ...'. dan ia disusun dengan baik. satu nota ialah kedua-dua cara rujukan laluan atau projek itu mengelirukan. Saya berharap satu skim yang mudah dan bersatu muncul pada masa akan datang. tidak ada sebab mengapa penyelesaian asal tidak berfungsi.
9 Akbar ibrahim 05/24/2013
+1. Berjuang dengan ini untuk masa yang lama. Seperti yang dikatakan oleh victor n , rujukan balang sokongan utama projek dari modul tindakanbarsherlock tidak berfungsi. Saya perlu melakukan perkara berikut untuk mendapatkannya berfungsi ... (1) Keluarkan fail menyusun fail ('libs / android-support-v4.jar') dari build.gradle projek. Modul utama hanya boleh menyusun projek (": libraries: actionbarsherlock") . (2) Tambah fail kompilasi ('libs / android-support-v4.jar') dan bukannya menyusun fail (': HelloWorld / libs / android-support-v4.jar') dalam build.gradle actionbarsherlock.
8 alicanbatur 11/07/2013
Mengapa saya tidak mempunyai bahagian "Modul Import", pada pilihan di mana anda mengarahkan kami? Saya menggunakan Android Studio 0.3.1
5 amalBit 02/08/2014
Pilihan Modul Import hilang !!
147 Kyle Gobel 10/19/2014
Kenapa ini tuhan yang begitu mengelirukan ?!

Sam Rad 07/01/2016.

Inilah panduan visual:

Update untuk Android Studio 0.8.2:

Di Android Studio 0.8.2, pergi ke Project Structure -> di bawah Modules sahaja, tekan butang ditambah dan pilih Import Existing Project dan import actionbarsherlock . Kemudian serlahkan fail Gradle anda.

Jika anda menghadapi ralat

Ralat: Semakan Alat Pembangun SDK (xx.xx) terlalu rendah. Minimum diperlukan ialah yy.yy

cuma buka file build.gradle dalam direktori actionbarsherlock dan kemas kini buildToolsVersion ke yang dicadangkan.

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

Android Studio 0.8.2


File Menu -> Project Structure... :

Pertama

Module -> Import Module

Kedua

Selepas mengimport modul perpustakaan, pilih modul projek your dan tambahkan pergantungan:

Ketiga

Dan kemudian pilih imported module :

Forth

5 comments
29 amalBit 02/08/2014
Pilihan modul import tidak tersedia di Android Studio4.3
3 toobsco42 08/25/2014
Kunci untuk saya membuat kerja ini dan menyelesaikan pakej yang tidak dapat ditemui ialah langkah Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
Ini akan menyalin modul perpustakaan dalam projek anda, yang bukan apa yang anda mahukan jika anda mahu asas kod biasa dikongsi antara beberapa projek
CCJ 11/13/2015
@amalBit adalah ... anda dari masa depan? Tetapi serius, mereka perlu membuat ini mudah seperti dalam Eclipse ADT; yang ingin memukul repo pihak ketiga dan mengkompilasi (berpotensi) kod sewenang-wenang ke dalam setiap binaan? Itu serius melemahkan protokol QA dan membekukan kod
amalBit 11/17/2015
Ia kembali semasa beta hari Android studio 0.4.3. Adapun untuk penyertaan repo pihak ke-3, id berkata, elakkan menggunakan +. Hanya nyatakan versi yang anda mahukan. Sekiranya anda masih tidak mempercayainya, anda boleh membuat balang (atau klon) dari mana-mana repo dan menggunakannya.

Blackbelt 07/01/2016.

Gunakan menu File -> Project Structure -> Modules .

Saya mula menggunakannya hari ini. Ia agak berbeza.

Untuk Sherlock, mungkin anda ingin memadamkan direktori ujian mereka, atau tambahkan fail junit.jar ke classpath.

Untuk mengimport perpustakaan menggunakan grader, anda perlu menambahkannya ke bahagian dependencies build.gradle anda (modulnya).

Contohnya

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 sedang berubah.

Terdapat seksyen bernama "Tetapan modul terbuka" jika anda klik kanan pada folder modul di bahagian projek Android Studio (Saya menggunakan versi 0.2.10).

5 comments
1 Alexander Kulyakhtin 05/16/2013
Hmm ia masih mengatakan android-apt-compiler: styles.xml: 5: error: Error retrieving parent for item: No resource found that matches the name 'Theme.Sherlock.Light.DarkActionBar'.
Blackbelt 05/16/2013
Di bawah Modul Sherlock -> Dependecies Saya mempunyai android 4.2.2 dan sokongan Perpustakaan v4
Blackbelt 05/16/2013
@ ρяσѕρєяK di sebelah butang lari, terdapat label dengan Android. Sekiranya anda berada di sana, anda akan mendapati Konfigurasi Edit. Tekan dan di bawah Peranti Sasaran klik pada "Tunjukkan Dialog Chooser"
7 fish 05/16/2013
Hai, saya mempunyai masalah yang sama seperti Alex ("Gradle: Ralat mendapatkan ibu bapa untuk item: Tiada sumber dijumpai yang sepadan dengan nama yang diberikan 'Theme.Sherlock.Light'.") - Kebergantungan Java sepertinya diselesaikan dengan betul, menyebabkan IDE tidak menyalahkan SherlockActivity saya, tetapi atas sebab tertentu Gradle nampaknya tidak melihat ke dalam sumber ABS. Apa-apa idea?
4 Konrad Morawski 09/15/2013
Pada Android Studio 0.2.8 tiada bahagian Modules dalam tetingkap Project Structure .

Jonathan Lin 10/14/2013.

Saya akan menimbangkan Dependencies, Perpustakaan Android dan pembentangan Multi-projek yang diperlukan. Sila ambil masa beberapa minit untuk berbuat demikian.

Terutama, dalam hal projek perpustakaan bukan jar, baca coretan berikut dari sumber di atas:

Projek Gradle juga boleh bergantung kepada projek grader lain dengan menggunakan persediaan pelbagai projek. Persediaan multi-projek biasanya berfungsi dengan mempunyai semua projek sebagai sub folder dari projek akar yang diberikan.

Sebagai contoh, diberikan kepada struktur berikut:

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

Kita boleh mengenal pasti 3 projek. Gradle akan merujuk mereka dengan nama berikut:

:app
:libraries:lib1
:libraries:lib2 

Setiap projek akan mempunyai build.gradle sendiri mengisytiharkan bagaimana ia dibina. Di samping itu, akan terdapat fail bernama settings.gradle pada akar yang mengisytiharkan projek. Ini memberikan struktur berikut:

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

Kandungan setting.gradle sangat mudah:

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

Ini mendefinisikan folder mana sebenarnya projek Gradle.

Projek: projek aplikasi mungkin bergantung kepada perpustakaan, dan ini dilakukan dengan mengisytiharkan kebergantungan berikut:

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

Sila ambil perhatian bahawa terdapat sedikit atau tidak menggunakan Android Studio GUI untuk membuat ini berlaku.

Saya sedang menggunakan submodules git untuk menghubungkan perpustakaan bersarang ke repo git perpustakaan sebenar untuk mengelakkan kekacauan pergantungan.

4 comments
Jonathan Lin 10/14/2013
Mohon upvote jika anda mendapati ini membantu, supaya orang lain dapat menghindari kesakitan dan bergerak lebih cepat.
RichieHH 03/24/2014
Sangat membantu dan, yang lebih penting, tidak bermain dengan keinginan gui sepanjang hari.
1 dcunited001 04/20/2014
terima kasih banyak untuk memasukkan satu-satunya jawapan yang masuk akal. setiap jawapan yang lain sudah lapuk dan tidak berfungsi. Saya tidak pernah mencuba CS di Virginia Tech kerana dua tahun pertama belajar untuk klik pada gerhana. ia tidak membuat sebarang fckn, tetapi melihat keputusan gradle klik rawak dalam IDE tidak.
velis 06/01/2015
Terima kasih atas subjek submodules git. Saya telah menggunakan simpang sebelum ini, tetapi kini telah bertukar ke luar SVN. Bekerja seperti pesona.

René Michel 07/01/2016.

Saya baru sahaja menemui cara yang lebih mudah (bukannya menulis terus ke dalam fail gradle).

Ini adalah untuk Android Studio 1.1.0.

  1. File Menu -> New Module... :

    Import Projek Sedia Ada

    Klik pada "Import Projek Sedia Ada".

  2. Pilih perpustakaan yang dikehendaki dan modul yang dikehendaki.

  3. Klik selesai. Android Studio akan mengimport perpustakaan ke dalam projek anda. Ia akan menyelaras fail grader.

  4. Tambah modul yang diimport ke dependencies projek anda.

    Klik kanan pada folder aplikasi -> Buka tetapan Modul -> pergi ke tab dependensi -> Klik pada butang '+' -> klik pada Modul Ketergantungan.

    Modul perpustakaan akan ditambah kepada dependensi projek.

    Tambah modul perpustakaan

  5. ???

  6. Keuntungan


Vilen 07/01/2016.

Cara paling mudah yang saya dapati termasuk projek perpustakaan luar adalah (sebagai contoh untuk memasukkan pustaka Facebook yang disimpan satu direktori di dalam folder dependensi):

  1. Dalam settings.gradle add

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. Dalam seksyen dependencies build.gradle, tambahkan

    compile project ('facebook') 

Semua yang perlu dilakukan ialah menyelaraskan projek dengan fail grader.

4 comments
Rajnish Mishra 03/23/2015
Hi Vilen apakah settingDir sini
Vilen 04/02/2015
Hi Rajnish. Dari dokumentasi: settingsDir Mengembalikan direktori tetapan binaan. Direktori tetapan adalah direktori yang mengandungi fail tetapan. Pengembalian: Direktori tetapan. Tidak pernah kembali null.
Rajnish Mishra 04/03/2015
Kedua titik sebelum / ketergantungan adalah lebih penting untuk dijaga Pembantu jawab anda banyak saya .. Terima kasih
Solata 11/18/2015
NOTE: untuk penilaian tali dalam grader anda mesti menggunakan petikan berganda ("). Ini" selamatkan hari "untuk saya.

Eugene Bosikov 07/01/2016.

Cara mudah untuk menambah fail JAR sebagai pustaka untuk projek Android Studio anda:

a) Salin fail * .jar anda

b) Tampalkan ke dalam direktori libs di bawah projek anda:

Masukkan keterangan imej di sini

c) Tambah untuk build.gradle:

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

b) Jika projek anda dari contoh com.example.MYProject dan perpustakaan com.example.ScanAPI mempunyai namespace yang sama com.example , Android Studio akan menyemak binaan anda dan membuat semua perubahan yang diperlukan dalam projek anda. Selepas itu, anda boleh menyemak tetapan ini dalam menu File -> Project Structure .

c) Jika projek dan perpustakaan anda mempunyai ruang nama yang berbeza, anda perlu klik kanan pada perpustakaan dan pilih pilihan "Tambah sebagai Perpustakaan" dan pilih jenis yang anda perlukan.

Ingat pilihan "Struktur projek" tidak melakukan sebarang perubahan auto dalam "build.gradle" dalam versi semasa Android Studio (0.2.3). Mungkin ciri ini akan tersedia dalam versi seterusnya.


pathe.kiran 06/27/2016.

Pilihan 1: Drop Files Ke dalam libs / direktori Projek

Fail build.gradle yang relevan kemudian akan dikemas kini secara automatik.

Pilihan 2: Ubah suai build.gradle File secara manual

Buka fail build.gradle anda dan tambahkan peraturan bina baharu kepada penutupan pergantungan. Sebagai contoh, jika anda mahu menambah Perkhidmatan Google Play, bahagian dependensi projek anda akan kelihatan seperti ini:

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

Pilihan 3: Gunakan Antara Muka Pengguna Android Studio

Dalam panel Projek, Kawalan + klik modul yang anda mahu tambah ketergantungan dan pilih Tetapan Modul Terbuka.

Masukkan keterangan imej di sini

Pilih tab Dependencies, diikuti dengan butang + di sudut bawah kiri. Anda boleh memilih dari senarai pilihan berikut:

  • Ketergantungan Perpustakaan
  • Ketergantungan Fail
  • Ketergantungan Modul

Anda kemudian boleh memasukkan lebih banyak maklumat mengenai ketergantungan yang anda ingin tambah pada projek anda. Sebagai contoh, jika anda memilih Ketergantungan Perpustakaan, Android Studio memaparkan senarai pustaka untuk anda pilih.

Sebaik sahaja anda menambah ketergantungan anda, periksa fail build.gradle tahap anda. Ia sepatutnya dikemas kini secara automatik untuk memasukkan kebergantungan baru.

Sumber


drewan50 07/01/2016.

Jika anda memerlukan akses kepada sumber projek perpustakaan (seperti yang anda lakukan dengan ABS) pastikan anda menambah projek / modul perpustakaan sebagai "Depthensi Modul" dan bukannya "Perpustakaan".

1 comments
1 cosimo 04/01/2014
Ya! Anda tuan memenangi Internet! Terima kasih! Saya baru sahaja menghabiskan beberapa jam hidup saya kerana saya tidak tahu.

pandabear 07/01/2016.

Ini adalah cara ia berfungsi untuk saya dalam Android Studio 1.5

Dalam projek di mana anda ingin menambah projek perpustakaan luaran, pergi ke menu File -> New -> * Import Modul baru **, navigasi ke projek perpustakaan yang ingin anda tambah pada projek anda, pilih untuk menambah modul 'perpustakaan' dalam projek anda. Anda akan mendapat settings.gradle dalam projek anda, di samping aplikasi, termasuk perpustakaan, seperti ini:

include ':app', ':library' 

Tambah dalam build.gradle(Module :app) di seksyen dependencies:

Compile project(':library')

Membangun semula projek itu, dan itu sahaja.

* Anda boleh menambah banyak perpustakaan (modul) yang anda mahu. Dalam kes itu dalam settings.gradle anda akan mempunyai:

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

Dan dalam build.gradle, anda perlu mempunyai:

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

    // Some other dependencies...

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

Adiii 07/01/2016.

Anda boleh melakukannya dengan mudah. Pergi ke File menu -> New -> Import Module... :

Masukkan keterangan imej di sini

Semak imbas direktori yang mengandungi modul. Klik Selesai:

Masukkan keterangan imej di sini

Pergi ke Project Structure dan tambah Module Dependency :

Masukkan keterangan imej di sini

Nota: Jika anda menerima ralat SDK, kemas kini yang satu.


Dalmas 06/27/2016.

Untuk menambah jawapan: Jika IDE tidak menunjukkan ralat, tetapi apabila anda cuba untuk mengkompilasi, anda mendapat sesuatu seperti:

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

Projek perpustakaan anda mungkin disusun sebagai projek aplikasi. Untuk menukar ini, pergi ke:

File Menu -> Project structure -> Facets -> [Nama perpustakaan] -> Semak "Modul perpustakaan".


crossle 07/01/2016.
  1. Tekan F4 untuk menunjukkan Project Structure , klik perpustakaan atau Perpustakaan Global, dan klik + untuk menambah fail JAR.
  2. Klik Modul apa yang anda mahu masukkan balang, pilih tab Dependencies , klik + , dan tambah Pustaka.

Shakti Malik 07/01/2016.

Menyunting dependensi perpustakaan melalui GUI tidak dianjurkan kerana itu tidak menulis perubahan tersebut pada file build.gradle anda. Jadi, projek anda tidak akan dibina dari baris arahan. Kita harus mengedit fail build.gradle secara langsung seperti berikut.

Sebagai contoh, diberikan kepada struktur berikut:

Projek saya/

  • aplikasi/
  • perpustakaan /
    • lib1 /
    • lib2 /

Kita boleh mengenal pasti tiga projek. Gradle akan merujuk mereka dengan nama-nama berikut:

  1. :aplikasi
  2. : perpustakaan: lib1
  3. : perpustakaan: lib2

Projek: projek aplikasi mungkin bergantung kepada perpustakaan, dan ini dilakukan dengan mengisytiharkan kebergantungan berikut:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
Benar? Aneh, mereka mempunyai GUI keseluruhan namun ia tidak digalakkan. Bagaimana begitu?
Shakti Malik 05/23/2013
Sebagai penyuntingan melalui GUI tidak menulis perubahan tersebut ke fail build.gradle anda. Pengeditan GUI hanya menjimatkan perubahan dalam data projek IntelliJ sendiri. Ini adalah pepijat pada masa ini yang akan ditetapkan dalam siaran masa depan. Anda boleh merujuk jawapan ini dari Google Android-Studio Lead Team stackoverflow.com/questions/16678447/...

Erwan 05/17/2013.

Selepas mengimport Modul ABS (dari Fail> Struktur Projek) dan memastikan ia mempunyai Android 2.2 dan Perpustakaan Sokongan v4 sebagai dependencies, saya masih mendapat ralat berikut semasa anda @Alex

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

Saya menambah modul yang baru diimport sebagai pergantungan kepada modul aplikasi utama saya dan yang membetulkan masalah.

3 comments
christiaanderidder 05/19/2013
Saya mencuba semua langkah inclusing menambah modul sebagai kebergantungan tetapi saya masih mempunyai Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. . Nampaknya projek utama saya tidak melihat sumber projek perpustakaan (ABS). IDE bagaimanapun mengiktiraf rujukan kepada kelas dan sumber. Tangkapan skrin
Calvin Chan 06/04/2013
Sama disini. Siapa yang boleh menyelesaikannya?
Dmitriy Tarasov 06/06/2013
Saya berhijrah ke IDEA 13 dari 12 dan mempunyai ralat ini juga. Hanya import semula untuk semua kebergantungan saya akan membantu. Secara manual keluarkan semua modul, alih keluar fail * .iml berkaitan dan import semula libs anda

azh 02/09/2014.

Untuk menyelesaikan masalah ini, anda hanya perlu menambah laluan sumber abs untuk projek membina fail anda, seperti di bawah:

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

Jadi, saya sekali lagi menyusun tanpa sebarang kesilapan.


Hemant 07/01/2016.

First Way Ini berfungsi untuk MacBook.

Pertama pilih fail builder.gradle anda sebagai skrin yang diberikan:

Masukkan keterangan imej di sini

Tambah ketergantungan seperti pada skrin yang dipilih:

Masukkan keterangan imej di sini

Pilih projek penyegerakan.

Jika anda mendapat ralat seperti "Projek dengan jalan ': tandatangan-pad' tidak dapat dijumpai dalam projek ': app'", maka sila gunakan cara kedua:

Pilih menu File -> New -> Import Module... :

Masukkan keterangan imej di sini

Selepas mengklik pada Import Module ,

Masukkan keterangan imej di sini

beri laluan perpustakaan seperti jalur MacBook saya:

Masukkan keterangan imej di sini

Klik pada Finish . Sekarang perpustakaan anda ditambah.


Braunster 02/09/2014.

Jika anda mempunyai Android Studio .0.4.0, anda boleh membuat folder baru di dalam laluan pembinaan anda, YourApp/libraries . Salin fail JAR. Di sana, klik kanan padanya dan "Tambah Sebagai Perpustakaan". Sekarang anda mempunyai popup. Hanya pilih direktori anda dan tekan OK, dan itu sahaja.


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 ialah pautan Dropbox mengenai cara menambah fail dan projek perpustakaan JAR dalam versi terbaru Android Studio 1.0.1.

Sila lihat dokumentasi dengan tangkapan skrin. Ia sangat mudah untuk pengguna baru.


passsy 05/23/2017.

Saya dapati penyelesaian itu. Ia sangat mudah. Ikut arahan froger_mc .

Pastikan anda membuat folder src folder Sumber dalam Struktur Projek -> Modul (Sumber).

Masukkan keterangan imej di sini


voghDev 05/23/2017.

Satu contoh yang berjaya menambah perpustakaan lain (PullToRefresh). Juga berfungsi untuk projek lib ABS.

Soalan SO ini

Siaran ini


Mohammad 05/23/2017.

Pada dasarnya, anda boleh memasukkan fail JAR anda dalam tiga cara yang berbeza. Yang terakhir ialah perpustakaan jauh yang menggunakan https://bintray.com/ jcenter repositori dalam talian. Tetapi, jika anda melakukannya dalam salah satu daripada dua cara lain, fail JAR akan dimasukkan secara fizikal dalam projek anda. Sila baca pautan ini https://stackoverflow.com/a/35369267/5475941 untuk maklumat lanjut. Dalam catatan ini saya menjelaskan cara untuk mengimport fail JAR anda di studio Android dan saya menjelaskan semua cara yang mungkin.

Ringkasnya, jika ia seperti ini (alamat tempatan), mereka dimuat turun dan fail JAR ini secara fizikal dalam projek:

masukkan keterangan imej di sini

Tetapi, jika ia adalah alamat internet seperti ini, mereka adalah perpustakaan terpencil (bahagian bintenter.com jcenter) dan mereka akan digunakan dari jauh:

masukkan keterangan imej di sini

Saya harap ia membantu.


Jinu 06/27/2016.

Buka fail aplikasi modul grader binaan dan tambah ketergantungan anda. Jika anda memuat turun perpustakaan, cuma import dan bina sebagai grader.

Jika tidak, masukkan repositori dalam aplikasi modul grader sisi:

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

Repositori pertama akan memuat turun perpustakaan untuk anda.

Dan menyusun perpustakaan yang dimuat turun:

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

Jika anda membuat perpustakaan, anda hanya perlu mengimport projek itu sebagai modul baru yang diimport.


Dharmendra Pratap 06/27/2016.

Di Android Studio, masuk ke dalam folder aplikasi, dan buka fail build.gradle. Di sini anda akan melihat dependencies {}. Di dalamnya anda boleh menambah projek perpustakaan dan menyegerakkan. Sekarang selepas menyegerakkan perpustakaan itu akan ditambah kepada projek anda, dan anda boleh menggunakan fungsinya dan kelas dalam projek anda.


MAMASSI 07/01/2016.

Untuk Android Studio:

Masukkan keterangan imej di sini

Klik pada Build.gradle (module: app) .

Dan tambahkan

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

dan dalam direktori "app" anda, buat direktori, "libs". Tambah fail yourfile.jar:

Masukkan keterangan imej di sini

Akhirnya, menyusun Fail Gradle:

Masukkan keterangan imej di sini

1 comments
Badre 03/23/2016
dude menghormati: D

Pankaj kumar 07/01/2016.

Cuma import projek perpustakaan Android sebagai modul dan dalam Build.gradle .

Guna plugin: 'com.android.library'

Selepas itu, ikuti langkah berikut:

  1. Klik kanan Modul & pilih tetapan Modul terbuka
  2. Pilih dependencies, klik pada + , pilih dependencies perpustakaan, dan tambah modul yang diimport sebelumnya.

jobbert 07/01/2016.

Saya mempunyai sebab yang berbeza bagi masalah ini untuk orang:

repositories {
    mavenCentral()
} 

ubah mavenCentral () ke jcenter () dan tambahkan

allprojects {
    repositories {
        jcenter()
    }
} 

Saya juga menghadapi masalah yang sama maka saya mengikuti perkara-perkara.

  1. Saya mengimport projek perpustakaan ke AndroidStudio IDE saya sebagai modul menggunakan menu File -> Import modul menu

  2. Kemudian saya pergi ke modul utama saya di mana saya mahu projek perpustakaan sebagai projek yang bergantung

  3. Klik kanan pada modul utama (dalam kes saya namanya adalah app ) -> modul terbuka tetapan -> masuk ke tab dependencies -> klik pada butang + (anda akan mendapatkannya di sebelah kanan tetingkap) -> klik pada pergantungan modul - > pilih projek perpustakaan anda dari senarai

Guna perubahan dan klik butang OK .

Ia bekerja untuk saya. Saya harap ia akan membantu orang lain juga.


monn3t 07/01/2016.

Sememangnya versi sedang berubah, begitu pula menukar antara muka pengguna dan pilihan yang tersedia pada menu. Selepas membaca sebahagian besar jawapan kepada soalan-soalan ini saya harus meneka apa yang akan berfungsi untuk Android Studio 1.1.0 .

  1. Dengan tetikus anda, pilih projek di peringkat utama (di sinilah ia menunjukkan nama aplikasi anda).

  2. Klik kanan, dan pilih pilihan menu New, Folder, Assets Folder .

  3. Selepas membuat folder aset, tampal atau salin di dalamnya, apa-apa fail JAR yang anda perlukan untuk pustaka anda.

  4. Dari menu utama Android Studio (bahagian atas skrin) pilih File -> Project Structure .

  5. Kemudian pilih nama projek anda dan pergi ke tab Dependencies .

  6. Klik pada tanda tambah ( + ) di sebelah kiri bawah kotak dialog dan pilih ketergantungan fail.

  7. Akhirnya buka folder aset yang baru dicipta, pilih fail JAR yang anda disalin, dan kemudian klikkan terapkan dan OK .

Bersihkan dan kembalikan semula projek anda.

2 comments
1 Rajnish Mishra 03/23/2015
membuat salinan balang dalam aset bukan idea yang baik ia tidak perlu meningkatkan saiz apk
monn3t 04/12/2015
Terima kasih atas nasihat @RajnishMishra. Saya mengesyaki itu, tetapi apa yang anda cadangkan sebaliknya?

Related questions

Hot questions

Language

Popular Tags