您的位置:首页 > 移动开发 > Android开发

Android Studio生成和引用aar

2015-11-23 12:45 495 查看
Android Studio中对一个库进行生成操作时将会同时生成*.jar与*.aar文件。

存储位置:

*.jar:build/intermediates/bundles/debug(release)/classes.jar

*.aar:build/outputs/aar/app-debug.aar

两者区别:

*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。

*.aar:包含所有资源,class以及res资源文件全部包含

如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar。

生成方法:

修改build.gradle文件

1.apply plugin:'com.android.application'
->
apply plugin:'com.android.library'

2.注释applicationId "......"
defaultConfig {

//        applicationId "com.xinyunlian.reglogin"

}

3.注释AndroidManifest.xml中的内容,只保留下面的部分(否则安装后会出现两个图标)。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="......" >

</manifest>


重新编译后,就会在上面相应的目录生成.jar和.aar。
使用方法:

1. *.jar:拷贝到:libs目录,eclipse直接导入即可,AndroidStudio项目中添加:

dependencies {
compile(name:'genius', ext:'aar')
}
重新编译一次项目既可完成加载
2. 将生成的.aar文件,拷贝到libs目录下,然后修改build.gradle文件
repositories {
flatDir {
dirs 'libs'
}
}

dependencies {
......compile (name:'...', ext:'aar')
}

注意:1. 确保.aar中所有资源文件(如activity_main.xml、drawable等等)和Activity的名称与调用者不一样
2. 如果想在调用者中启动.aar中的Activity,需要在调用者AndroidManifest.xml中声明.aar的Activity。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: