Créer un fichier aar dans Android Studio
j'aimerais créer un fichier aar pour ma bibliothèque dans Android Studio, j'aurais choisi l'option jar mais ma bibliothèque a des ressources.
une idée de la façon de créer un fichier aar à partir d'une bibliothèque?
4 réponses
si votre bibliothèque est configurée comme une bibliothèque Android (i.e. elle utilise la déclaration apply plugin: 'com.android.library'
dans sa compilation.gradle file), il affichera an .aar quand il est construit. Il apparaîtra dans le build/sorties/aar/ répertoire dans votre répertoire du module.
vous pouvez choisir le type" Android Library " dans le fichier > nouveau Module pour créer une nouvelle bibliothèque Android.
récupérer exporté .aar fichier local construit
si vous avez un module défini comme un projet de bibliothèque android vous obtiendrez .les fichiers aar pour toutes les saveurs de construction (Débogage et libération par défaut) dans le répertoire build/outputs/aar/
de ce projet.
your-library-project
|- build
|- outputs
|- aar
|- appframework-debug.aar
- appframework-release.aar
si ces fichiers n'existent pas, démarrer une compilation avec
gradlew assemble
détails du projet de bibliothèque
un projet de bibliothèque a un build.gradle
dossier contenant apply plugin: com.android.library
. Pour la référence de cette bibliothèque empaquetée comme un fichier .aar
vous devrez définir certaines propriétés comme paquet et version.
exemple build.gradle
fichier pour bibliothèque (cet exemple inclut l'obfuscation dans la version):
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'
}
}
}
référence .fichier aar dans votre projet
dans votre projet app, vous pouvez déposer ce fichier .aar
dans le dossier libs
et mettre à jour le fichier build.gradle
fichier de référence de cette bibliothèque à l'aide de l'exemple ci-dessous:
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'
}
D'autres options pour référencer les fichiers de dépendances locales dans gradle peuvent être trouvées à: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project
Partage des dépendances à l'aide de maven
si vous devez partager ces fichiers .aar
au sein de votre organisation, consultez maven. Une belle écriture sur ce sujet peut être trouvé à: https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive-library-aar-across
à Propos de l' .aar format de fichier
un fichier aar est juste un .zip
avec une extension alternative et un contenu spécifique. Pour plus de détails, consultez ce lien sur le format AAR .
comme l'utilisateur hcpl l'a dit Mais si vous ne voulez pas vous soucier de la version de la bibliothèque, vous pouvez le faire:
dependencies {
compile(name:'mylibrary', ext:'aar')
}
comme son genre d'agaçant d'avoir à mettre à jour la version à chaque fois. Aussi, il rend le fait de ne pas se soucier de l'espace du nom plus facile de cette façon.
btw @aar n'a pas de dépendance transitive. vous avez besoin d'un paramètre pour l'activer: dépendances Transitives pas résolu par l'aar de la bibliothèque à l'aide de gradle