Android Studio'daki kütüphanem için bir aar dosyası oluşturmak istiyorum, bir kavanoz seçeneğiyle giderdim ama kütüphanemde kaynaklar var.
Kütüphaneden aar dosyası nasıl oluşturulur?
Android Studio'daki kütüphanem için bir aar dosyası oluşturmak istiyorum, bir kavanoz seçeneğiyle giderdim ama kütüphanemde kaynaklar var.
Kütüphaneden aar dosyası nasıl oluşturulur?
Yanıtlar:
Kitaplığınız bir Android kitaplığı olarak ayarlanmışsa (yani apply plugin: 'com.android.library'ifadeyi build.gradle dosyasında kullanır ), oluşturulduğunda bir .aar çıktısı verir. Bu görünecektir inşa / çıkış / aar / senin modülün Rehberde.
Yeni bir Android Kütüphanesi oluşturmak için Dosya> Yeni Modül'de "Android Kütüphanesi" türünü seçebilirsiniz.
aariçin Build > Rebuild ProjectAndroid Studio'da bir yapmak zorunda olduğumu unutmayın . Basitçe çalışan, hata ayıklama veya Bina APK aarbenim için üretmedi .
./gradlew moduleName:assembleReleaseterminal sekmesinde olmak daha hızlı bir şekilde
Bir android kütüphane projesi olarak tanımlanan bir modülünüz varsa build/outputs/aar/, o projenin dizinindeki tüm yapı lezzetleri için (varsayılan olarak hata ayıklama ve bırakma) .aar dosyaları alırsınız .
your-library-project
|- build
|- outputs
|- aar
|- appframework-debug.aar
- appframework-release.aar
Bu dosyalar yoksa,
gradlew assemble
macOS kullanıcıları için
./gradlew assemble
Bir kütüphane projesi build.gradleiçeren bir dosyaya sahiptir apply plugin: com.android.library. .aarDosya olarak paketlenmiş bu kütüphaneye referans için paket ve sürüm gibi bazı özellikleri tanımlamanız gerekir.
build.gradleKütüphane için örnek dosya (bu örnek sürümdeki gizlemeyi içerir):
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "0.1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Uygulama projenizde bu .aardosyayı libsklasöre bırakabilir build.gradleve aşağıdaki örneği kullanarak dosyayı bu kitaplığa başvuracak şekilde güncelleyebilirsiniz :
apply plugin: 'com.android.application'
repositories {
mavenCentral()
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
android {
compileSdkVersion 21
buildToolsVersion "21.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 20
versionCode 4
versionName "0.4.0"
applicationId "yourdomain.yourpackage"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
}
dependencies {
compile 'be.hcpl.android.appframework:appframework:0.1.0@aar'
}
Sınıfta yerel bağımlılık dosyalarına başvurmak için alternatif seçenekler şu adreste bulunabilir: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project
Bu .aardosyaları kuruluşunuz içinde paylaşmanız gerekiyorsa maven'e bakın. Bu konu hakkında güzel bir yazı şu adreste bulunabilir: https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive- kütüphane-aar-genelinde
Aar dosyası sadece .zipalternatif bir uzantıya ve belirli bir içeriğe sahip bir a dosyasıdır . Ayrıntılar için aar formatıyla ilgili bu bağlantıyı kontrol edin .
gradlew assemble- bu yaşadığım sorunu çözdü.
gradlew bir komut dosyasıdır .
tıpkı hcpl kullanıcısı gibi ama kütüphanenin sürümü hakkında endişelenmek istemiyorsanız bunu yapabilirsiniz:
dependencies {
compile(name:'mylibrary', ext:'aar')
}
sürümü her zaman güncellemek zorunda gibi can sıkıcı bir tür olarak. Ayrıca isim alanı hakkında endişelenmemeyi kolaylaştırır.
Aynı iş parçacığında hcpl'nin cevabında belirtilen birinci ve ikinci adımları izledikten sonra , '* .aar'], dir: 'libs' ekledik -app / proje / build.gradle dosyası aşağıda gösterildiği gibi:
...
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
...
Gradle sürümümüz com.android.tools.build:gradle:3.2.1
AAR oluşturmak için
oluştururken aşağıdaki adımları izleyin.
File->New->New Module->Android Library and create.
AAR oluşturmak için
Android stüdyosunda sağ üst bölmede gradle'a gidin aşağıdaki adımları izleyin.
Gradle->Drop down library name -> tasks-> build-> assemble or assemble release
AAR derleme / çıkışlar / aar /
Ancak AAR'ın proje dizininde istediğiniz adla belirli bir klasörde oluşturulmasını istiyorsak, uygulama düzeyinizi build.gradleaşağıdaki gibi değiştirin
defaultConfig {
minSdkVersion 26
targetSdkVersion 28
versionCode System.getenv("BUILD_NUMBER") as Integer ?: 1
versionName "0.0.${versionCode}"
libraryVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "/../../../../release/" + ("your_recommended_name.aar")
}
}
}
Şimdi proje dizininde AAR olan "release" adında bir klasör oluşturacaktır.
btw @aar geçişli bir bağımlılığa sahip değildir. açmak için bir parametreye ihtiyacınız var: Geçiş kullanan aar kütüphanesi için geçişli bağımlılıklar çözülmedi