Saya mencoba menambahkan ketergantungan Android Asynchronous Http Client ke dalam proyek saya. Jadi ada dua file build.gradle yang ada di proyek ini.
Sesuai pemahaman saya, ada berbagai jenis dependensi:
- Satu yang ditentukan di tingkat akar build.gradle (Proyek: Aplikasi-saya)
- Satu di dalam buildscript dari build.gradle (Project: My-app)
- Lainnya adalah build.gradle (Modules: app)
Pertanyaan ini tentang repositori untuk dependensi buildScript, jelaskan sedikit tentang dua jenis pertama.
Juga build.gradle (Project: My-app) mengatakan
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Jadi saya kira kode ketergantungan Android Asynchronous Http Client harus ditambahkan di build.gradle (Module: app).
Jika seseorang dapat memberikan gambaran yang jelas tentang semua ini untuk pemahaman yang lebih baik, itu akan sangat bagus.
android
android-studio
build.gradle
Anil Bhaskar
sumber
sumber
build.gradle(Modules:app)
atau pergi keFile -> Project Structure -> Modules -> (Choose project you want to add library) -> Dependencies
tempat Anda akan melihat tanda silang hijau, dengan mengetuk pilih ituModule Dependency
dan tambahkan perpustakaan Anda secara otomatisFailed to find: com.loopj.android:android-async-http:1.4.5
mengapa tidak dapat mengunduh secara langsung, saya juga telah mengatur proxy. Saya mengunduh file jar, dan mencoba secara manual tetapi sebagaiFile Repository
.. apakah itu cara yang benar.Project Structure
bukaModules
dan pilih proyek Anda. Di sana Anda akan melihatgreen cross sign
. Mengklik itu akan membukaNew Module
jendela. Di sana Anda memilih untuk mengimpor perpustakaan Anda. Jika Anda memiliki.jar
file maka pilih di bawahimport .JAR or .AAR package
. Jika tidak, salin jar Anda kelibs
folder danModule:app
tambahkan dependensi berikut:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/your_jar_file.jar') }
Jawaban:
build.gradle(Project:My-app)
Setiap proyek berisi
top-level gradle file
. Ini biasanya berisicommon configs
untuk semuamodules
. Apapun yang termasuk ditop-level gradle
dalamnya, itu akan mempengaruhi semuamodules
.ex:
build.gradle(Module:app)
Semua
modules
memilikigradle
file tertentu . Apa pun yang disertakan dalamgradle
file ini , itu hanya akan mempengaruhimodule
yang disertakan di.ex:
sumber
Agak membingungkan karena Android Studio secara default menampilkan kedua
build.gradle
file tepat di samping satu sama lain (saat menggunakan tampilan Android).Jika Anda beralih ke tampilan Proyek, Anda dapat melihat struktur sebenarnya dan lokasi
build.gradle
file yang berbeda .File
build.gradle
(Project: MyApplication) ada di folder root project dan pengaturan konfigurasinya berlaku untuk setiap modul dalam project. Modul adalah bagian terisolasi dari proyek yang lebih besar. Dalam proyek multi-modul, modul-modul ini memiliki tugasnya masing-masing tetapi bekerja sama untuk membentuk keseluruhan proyek. Sebagian besar proyek Android hanya memiliki satu modul, modul aplikasi.File
build.gradle
(Module: app) di sini ada diapp
folder. Pengaturan build-nya hanya berlaku untuk modul aplikasi. Jika ada modul lain, maka modul itu juga punyabuild.gradle
file sendiri . Sebagai contoh , saya membuat proyek perpustakaan dengan tiga modul: modul perpustakaan, modul aplikasi demo, dan modul aplikasi lain yang akan saya gunakan untuk pengujian. Masing-masing memilikibuild.gradle
file sendiri yang dapat saya atur.Dalam proyek dasar, hampir semua yang perlu Anda edit akan ada di
build.gradle
file modul aplikasi . Anda bisa mengingatnya seperti ini:Bacaan lebih lanjut
sumber
Tentang hubungan kedua
gradle
file, hrskrs membuat penjelasan yang sangat jelas, saya akan membuat tambahan tentang itu.jika proyek Anda hanya memiliki satu Modul (seperti aplikasi ), keuntungan dari build.gradle teratas (Project: My-app) tidak ditampilkan dengan sangat jelas. karena Anda dapat mengonfigurasi semuanya di build.gradle (Module: app) tentang Modul, dan hanya mengubah satu file saat meningkatkan versi di hari-hari berikutnya。
tetapi jika proyek Anda memiliki 5 Modul, dan kebetulan mereka memiliki ketergantungan yang sama A , jika Anda tidak menggunakan build.gradle teratas (Project: My-app) Anda perlu memelihara 5 file di hari-hari berikutnya.
omong-omong, build.gradle (Module: app) bisa menimpa build.gradle (Project: My-app) .
Desain ini dapat meningkatkan pemeliharaan APP
sumber