您的位置:首页 > 本地本地

如何在Android Studio添加本地aar包引用

admin2024-09-23人已围观

一、如何在Android Studio添加本地aar包引用

1、新建一个Demo项目

2、新建好的项目结构如下图:

其中app是我们的主要module,

libs下存放外部的library

build.gradle是配置App module的,接下来主要对其操作。

3、复制外部aar包到libs目录下。

4、修改build.gradle 配置文件:

1:添加

repositories     flatDir {        dirs 'libs'    }}

这个是添加一个本地仓库,并把libs目录作为仓库的地址。

5、2:修改dependencies:

添加一行:

compile(name:'usericonchooserutil', ext:'aar')

其中name就是libs目录下usericonchooserutil.aar文件名称,ext,就是usericonchooserutil.aar的扩展名

6、重新编译项目:

从工具栏依次选择:Build-->rebuild project

7、编译完成后,在app/build/intermediates/exploded-aar/ a就可以看见我们引用的aar包内容了,其中jar目录下是jar文件,res下是我们aar包里的资源文件。

8、这个时候就可以在项目中使用第三包的类了,如下图:

二、安卓studio 怎么使用maven

下载并配置gradle离线包,配置Maven本地仓库

命令行编译的话, 配置 daemon=true(开启gradle守护进程)等,Android Studio 勾选 offlinework选项

在下面的目录下面创建gradle.properties文件:

/home//.gradle/ (Linux)

/Users//.gradle/ (Mac)

C:\Users\\.gradle (Windows)

并在文件中增加:org.gradle.daemon=true

其他更详细的不在此处赘述

三、gradle里面怎么配置java版本

配置Gradle运行环境的方法 到Gradle官网,下载Gradle安装包。 选择“Complete distribution (binaries, sources and offline documentation)” 解压缩到本地目录 配置GRADLE_HOME的环境变量 将%GRADLE_HOME%/bin配置到PATH中

四、android studio 怎样配置gradle

build.gradle

//设置脚本的运行环境

buildscript {

//支持java 依赖库管理(maven/ivy),用于项目的依赖。

repositories {

mavenCentral()

}

//依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件

dependencies {

classpath 'com.android.tools.build:gradle:0.4'

}

}

//声明构建的项目类型,这里当然是android了

apply plugin: 'android'

//设置编译android项目的参数

android {

compileSdkVersion 17

buildToolsVersion 17

defaultConfig {

minSdkVersion 8

targetSdkVersion 17

}

//Android默认配置

sourceSets {

main {

manifest.srcFile 'AndroidManifest.xml'

java.srcDirs = ['src']

resources.srcDirs = ['src']

aidl.srcDirs = ['src']

renderscript.srcDirs = ['src']

res.srcDirs = ['res']

assets.srcDirs = ['assets']

}

//测试所在的路径,这里假设是tests文件夹,没有可以不写这一行

instrumentTest.setRoot('tests')

}

//这个是解决lint报错的代码

lintOptions {

abortOnError false

}

/**

* 签名设置

*/

signingConfigs {

myConfigs {

storeFile file(签名文件地址)

keyAlias ...

keyPassword ...

storePassword ...

}

}

/**

* 混淆设置

*/

buildTypes {

release {

signingConfig signingConfigs.myConfigs

runProguard true

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

/**

* 渠道打包(不同包名)

*/

productFlavors {

qqqq {

applicationId = '包名'

}

hhhhh {

applicationId='包名'

}

}

}

/**

* .so文件的导入

*/

task copyNativeLibs(type: Copy) {

from fileTree(dir: 'libs', include: 'armeabi/*.so') into 'build/lib'

}

tasks.withType(Compile) {

options.encoding = UTF-8

}

tasks.withType(Compile) {

compileTask -> compileTask.dependsOn copyNativeLibs

}

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->

pkgTask.jniFolders = [new File(buildDir, 'lib')]

}

//依赖库

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

}

本地依赖

gradle 作为构建工具,能够很方便的使用本地jar包,以下为使用的代码块。

dependencies {

//单文件依赖

compile files('libs/android-support-v4.jar')

//某个文件夹下面全部依赖

compile fileTree(dir: 'libs', include: '*.jar')

}

android {

}

远程依赖

gradle 同时支持maven,ivy,由于ivy我没用过,所以用maven 作为例子,以下为代码块:

repositories {

//从中央库里面获取依赖

mavenCentral()

//或者使用指定的本地maven 库

maven{

url file://F:/githubrepo/releases

}

//或者使用指定的远程maven库

maven{

url 远程库地址

}

}

dependencies {

//应用格式: packageName:artifactId:version

compile 'com.google.android:support-v4:r13'}

android {

}

android library 依赖

对于项目依赖 android library的话,就不是依赖一个jar,那么简单了,在这里需要使用gradle mulit project 机制。在过去,android library并没有一个很好的包管理方式,简单来说,在gradle出现以前,官方并没有一种用于管理android library 依赖包的方式,一般我们都是直接下载别人的android library project 源码进行集成,而对于第三方的android-maven-plugin 用的是apklib 格式。

而现在,官方终于推出一种android library的打包格式,扩展名为*.aar。前面提到,目前android gradle插件并不支持本地直接使用*.aar文件,不过,支持包管理库的引用方式,下面,我为大家说一下,怎么对android library 发布使用。

打包android library

对android library 进行打包直接在library项目下面使用gradle build 即可,然后,你就会在 build/libs 目录下看到两个*.aar文件,一个debug包用的,一个是release 下用的,看个人需求使用,这里我们用的是release 版本的 .aar 文件。

引用脚本跟前面讲的依赖库相似

dependencies {

compile(name: 'pulltorefresh', ext: 'aar')

}

很赞哦! ()

上一篇:CentOS 7 系统下如何搭建本地Yum源仓库'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文