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.
aar
için Build > Rebuild Project
Android Studio'da bir yapmak zorunda olduğumu unutmayın . Basitçe çalışan, hata ayıklama veya Bina APK aar
benim için üretmedi .
./gradlew moduleName:assembleRelease
terminal 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.gradle
içeren bir dosyaya sahiptir apply plugin: com.android.library
. .aar
Dosya olarak paketlenmiş bu kütüphaneye referans için paket ve sürüm gibi bazı özellikleri tanımlamanız gerekir.
build.gradle
Kü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 .aar
dosyayı libs
klasöre bırakabilir build.gradle
ve 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 .aar
dosyaları 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 .zip
alternatif 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.gradle
aş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