首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Android Studio中创建aar文件

在Android Studio中创建aar文件
EN

Stack Overflow用户
提问于 2014-06-19 23:07:28
回答 5查看 156.7K关注 0票数 188

我想在Android Studio中为我的库创建一个aar文件,我想使用jar选项,但我的库有资源。

你知道如何从库中创建aar文件吗?

EN

回答 5

Stack Overflow用户

发布于 2014-12-19 19:23:42

从本地生成中检索导出的.aar文件

如果您有一个定义为android库项目的模块,那么您将在该项目的build/outputs/aar/目录中获得所有构建风格(默认情况下是调试和发布)的.aar文件。

代码语言:javascript
复制
your-library-project
    |- build
        |- outputs
            |- aar
                |- appframework-debug.aar
                 - appframework-release.aar

如果这些文件不存在,使用以下命令启动构建

代码语言:javascript
复制
gradlew assemble

对于macOS用户

代码语言:javascript
复制
./gradlew assemble

库项目详细信息

库项目有一个包含apply plugin: com.android.librarybuild.gradle文件。为了引用这个打包成.aar文件的库,您必须定义一些属性,比如包和版本。

库的示例build.gradle文件(此示例包括版本中的模糊处理):

代码语言:javascript
复制
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'
        }
    }
}

在项目中引用.aar文件

在您的应用程序项目中,您可以将此.aar文件放在libs文件夹中,并使用以下示例更新build.gradle文件以引用此库:

代码语言:javascript
复制
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'
}

在gradle中引用本地依赖文件的替代选项可以在以下位置找到:http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project

使用maven共享依赖项

如果您需要在组织内共享这些.aar文件,请查看maven。关于这个主题的一篇很好的文章可以在:https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive-library-aar-across上找到

关于.aar文件格式

aar文件只是一个带有可选扩展名和特定内容的.zip。有关详细信息,请查看this link about the aar format

票数 183
EN

Stack Overflow用户

发布于 2015-11-13 03:39:52

就像用户hcpl所说的,但是如果你不想担心库的版本,你可以这样做:

代码语言:javascript
复制
dependencies {
    compile(name:'mylibrary', ext:'aar')
}

因为每次都要更新版本是一件很烦人的事情。此外,它还使得不用担心名称空间的问题变得更容易。

票数 13
EN

Stack Overflow用户

发布于 2016-10-17 02:58:23

btw @aar没有传递依赖。您需要一个参数来打开它:Transitive dependencies not resolved for aar library using gradle

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24309950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档