Saya menyadari pertanyaan ini: Menambahkan file .aar lokal ke bangunan gradle saya tetapi solusinya tidak bekerja untuk saya.
Saya mencoba menambahkan pernyataan ini ke tingkat atas build.gradle
file saya :
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
Saya juga memasukkan slidingmenu.aar
file ke dalam /libs
dan mereferensikannya di dependencies
bagian: compile 'com.slidingmenu.lib:slidingmenu:1.0.0@aar'
tetapi tidak berhasil sama sekali.
Saya mencoba compile files('libs/slidingmenu.aar')
juga tetapi tidak berhasil.
Apa yang saya lewatkan? Ada ide?
PS Android Studio 0.8.2
android
android-studio
android-gradle-plugin
build.gradle
aar
Alexey Dmitriev
sumber
sumber
Jawaban:
Berdasarkan jawaban Yosia, inilah cara saya membuatnya bekerja.
Mengikuti instruksinya (dalam edit) ( File -> New-> New Module -> Impor .JAR / .AAR ) dan impor .AAR Anda.
Kemudian di build.gradle proyek Anda (bukan yang tingkat atas, yang di bawah 'aplikasi') tambahkan yang berikut (di bagian dependensi):
Catatan Nama-Dari-Proyek-Anda harus sesuai dengan nama folder yang ditambahkan setelah Anda mengimpor file AAR (pada tingkat yang sama seperti di
app/.idea
bawah folder tingkat paling atas). Atau dengan kata lain ...Ini bekerja untuk saya yang menjalankan Android Studio 0.8.0. Jangan lupa untuk menyinkronkan gradle (menggunakan tombol bilah alat atau di File-> Sinkronisasi ) setelah Anda melakukan ini.
(Terima kasih kepada Yosia karena membuat saya pergi ke arah yang benar)
(Catatan: sebelum ini saya mencoba menambahkannya ke folder libs, mencoba untuk memanipulasi tingkat atas
build.gradle
dan tingkat aplikasibuild.gradle
, tetapi tidak ada yang bekerja untuk file aars saya - jar itu akan berfungsi dengan baik, tetapi tidak pada file aar)sumber
Error:(25, 0) Required keys [path] are missing from map {name=mylibrary-debug}.
jika saya menggunakancompile project(name:'mylibrary-debug')
.. Apa yang saya lewatkan?compile project(':Name-Of-Your-Project')
, saya digantiName-Of-Your-Project
dengan nama file .aar saya (tanpa.aar
ekstensi). Dan itu berhasil.Pembaruan : Seperti yang disebutkan @ amram99, masalah telah diperbaiki pada rilis Android Studio v1.3.
Diuji dan diverifikasi dengan spesifikasi di bawah ini
Apa yang berhasil sekarang?
Sekarang Anda dapat mengimpor file aar lokal melalui opsi File> New> New Module> Import .JAR / .AAR Package di Android Studio v1.3
Namun jawaban di bawah ini berlaku dan efektif terlepas dari perubahan Android Studio karena ini didasarkan pada skrip gradle.
Jawaban Lama: Dalam pembaruan terbaru, orang-orang di Android memecah pemasukan file aar lokal melalui Android Studio menambahkan opsi menu modul baru. Periksa Masalah yang tercantum di sini. Terlepas dari apa pun yang masuk dan keluar dari daftar fitur IDE, metode di bawah ini berfungsi ketika bekerja dengan file aar lokal (Diuji hari ini):
Letakkan file aar di direktori libs (buat jika perlu), lalu tambahkan kode berikut di build.gradle Anda:
sumber
repositories
bagian berjalan dalam yang berbedabuild.gradle
untuk pekerjaan - yang global. Bagian inidependencies
masuk dalam modulbuild.gradle
. Itu sebabnya saya mendapat kesalahan.Sunting: Cara yang benar (saat ini) untuk menggunakan file AAR lokal sebagai dependensi build adalah dengan menggunakan panduan impor modul (File | Modul Baru | Impor .JAR atau paket .AAR) yang secara otomatis akan menambahkan .aar sebagai modul perpustakaan dalam proyek Anda.
Jawaban Lama
Coba ini:
sumber
flatDir { dirs 'libs' }
blok seperti yang disebutkan dalam OP menggunakan AS 8.13 / Gradle 2.1Saya dapat ini bekerja di Android Studio 2.1. Saya memiliki modul yang disebut "Native_Ads" yang dibagikan di beberapa proyek.
Pertama, saya membuat direktori dalam modul Native_ads saya dengan nama 'aars' dan kemudian meletakkan file aar di sana.
Struktur direktori:
Kemudian, perubahan lainnya:
File Gradle tingkat atas:
File build.gradle modul aplikasi: - tidak ada perubahan
File Settings.gradle (untuk memasukkan modul):
File gradle untuk modul Native_Ads:
Itu dia. Bersihkan dan bangun.
sumber
Cara termudah sekarang adalah menambahkannya sebagai modul
Ini akan membuat modul baru yang berisi file aar, jadi Anda hanya perlu memasukkan modul itu sebagai dependensi setelahnya
sumber
next
tombol saya berwarna abu-abu padaCreate New Module
dialog setelah memilih ImporJAR/AAR Package
?.aar
file ada dalam direktori proyek, saya cukup meletakkannya.aar
di desktop saya dan mencoba lagi dan berfungsi, terima kasih atas solusi Anda!so you just need to include that module as a dependency afterwards
- bagaimana Anda melakukannya?include
disettings.gradle
seharusnya sudah cukup. Saya membuatnya bekerja. Terima kasih!Ini adalah struktur saya, dan bagaimana saya mengatasi ini:
Di build.gradle
dari Project / app / myModulesFolder / myLibXYZ
Saya telah meletakkan ini:
Dilakukan dan berfungsi dengan baik, submodule saya XYZ tergantung pada perpustakaan dari modul utama.
sumber
Anda bisa melakukannya dengan cara ini. Perlu masuk dalam format pakar:
Dan kemudian AAR Anda harus masuk dalam struktur folder untuk id grup "com.example":
Kemudian referensi sebagai ketergantungan:
compile 'com.example:myaar:version@aar'
Di mana
version
versi file aar Anda (yaitu, 3.0, dll)sumber
Bagi siapa saja yang memiliki masalah ini pada Android Studio 1.4, saya membuatnya bekerja dengan membuat modul dalam proyek yang berisi 2 hal.
build.gradle dengan konten berikut:
configurations.create("default")
artifacts.add("default", file('facebook-android-sdk-4.7.0.aar'))
file aar (dalam contoh ini 'facebook-android-sdk-4.7.0.aar')
Kemudian sertakan perpustakaan baru sebagai ketergantungan modul. Sekarang Anda dapat menggunakan aar yang dibangun tanpa menyertakan sumber dalam proyek.
Kredit ke Facebook untuk hack ini. Saya menemukan solusinya saat mengintegrasikan Android SDK ke dalam proyek.
sumber
apply plugin: 'com.android.application'
keapply plugin: 'com.android.library'
Dalam kasus saya, tidak ada jawaban di atas yang berfungsi! karena saya punya productFlavors berbeda hanya menambahkan
repositories{ flatDir{ dirs 'libs' } }
tidak bekerja! Saya berakhir dengan menentukan lokasi tepatnya direktori libs :
}
Tebak orang harus memperkenalkan flatDir seperti ini ketika ada productFlavors yang berbeda di build.gradle
sumber
Dalam kasus saya, saya hanya meletakkan file aar di libs, dan menambahkan
dependencies { ... api fileTree(dir: 'libs', include: ['*.aar']) ... }
di build.gradle dan berfungsi. Saya pikir ini mirip dengan dependensi bawaan yang dihasilkan:
implementation fileTree(dir: 'libs', include: ['*.jar'])
sumber
Baris ini mencakup semua
aar
danjar
file darilibs
folder:sumber
Tambahkan di bawah ini dalam proyek implementasi file gradle aplikasi (jalur: ': nama proyek')
sumber
Jika Anda sudah menggunakan Kotlin Gradle DSL, alternatif untuk menggunakannya dengan cara ini:
Inilah struktur proyek saya
Saya
app/build.gradle.kts
fileTree
flatDirs
Itu
group
diperlukan, karena itu wajib (bukan opsional / memiliki nilai default) di kotlinimplementation
, lihat di bawah:Penafian: Perbedaannya menggunakan
flatDirs
pendekatan no.1 & no.2, saya masih tidak tahu banyak, Anda mungkin ingin mengedit / mengomentari jawaban ini.Referensi:
sumber