文档章节

android studio开发工具的android library打包文件(.aar)本地引用

z
 zdh1000
发布于 2015/07/14 15:02
字数 757
阅读 93
收藏 0

关键点:

利用Gradle发布本地maven库
支持android library 打包文件(*.aar) 的本地引用

 

开发环境:

windows7 64位操作系统

android studio0.5.8

 

(1) 安装maven
1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量。
2.下载maven3,最新版本是Maven3.2.1 ,下载地址:http://maven.apache.org/download.html 
下载apache-maven-3.2.1-bin.tar.gz文件后,并解压到D:\Dev\apache-maven-3.2.1
3.配置maven3的环境变量:先配置M2_HOME的环境变量,新建一个系统变量:M2_HOME ,路径是:D:\Dev\apache-maven-3.2.1
4.再配置path环境变量,在path值的末尾添加"%M2_HOME%\bin"
5.点击确定之后,打开cmd窗口:输入 mvn -version,出现如下内容表示安装成功。

(2) maven配置本地仓库
1.打开本地存放maven目录(或者maven安装目录,我的安装目录是:D:\cloud_cms\maven\apache-maven-3.1.1,这里没多大影响,我只是不同的项目有不同的仓库):
比如我的本地存放目录是:D:\Util\maven\apache-maven-3.1.1
2.打开conf文件夹下的settings.xml文件,找到第53行,把注释去掉,修改成:
<localRepository>D:/Util/maven/maven-dependcies</localRepository>
当然了,前提是在某个路径下,手动建立了一个名为 maven-dependcies的文件夹,然后把本地仓库指向该路径。


----利用Gradle发布本地maven库----
(3) 安装Gradle,将%GRADLE_HOME%\bin\gradle加入PATH。
1. 下载gradle-1.12-bin.zip,并解压到D:\Dev\gradle-1.12
2.配置Gradle的环境变量:先配置GRADLE_HOME的环境变量,新建一个系统变量:M2_HOME ,路径是:D:\Dev\gradle-1.12
3.再配置path环境变量,在path值的末尾添加"%GRADLE_HOME%\bin"
4.点击确定之后,打开cmd窗口:输入 Gradle -version,出现如下内容表示安装成功。


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

(5) Gradle发布aar包到Maven Repository

android library project 目录的 build/libs 下创建一个build.gradle 文件:

build.gradle:
-------------开始------------------------------
apply plugin: 'maven' // 启用maven 插件

group = 'group.pals.android'

artifacts {
//当前aar文件名
archives file('filechooser.aar')
}

uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://C:/Users/cjl/.m2/repository")
pom.groupId = "group.pals.android" 
pom.version = '0.1.0'
pom.artifactId = 'filechooser'
}
}
}
-------------结束------------------------------

在cmd命令窗口执行:
cd D:\iwork\filechooser\build\libs
gradle uploadArchives --info 查看上传的详细过程
即可完成包的发布。

----利用maven发布aar----
mvn -version
mvn install:install-file -Dfile=d:\mylibrary-{version}.aar -DgroupId=com.example -DartifactId=mylibrary -Dversion={version} -Dpackaging=aar

实例:
--将filechooser.aar发布到本地maven仓库
mvn install:install-file -Dfile=filechooser.aar -DgroupId=group.pals.android -DartifactId=filechooser -Dversion=0.1.0 -Dpackaging=aar

--将EnhancedListView-0.3.2.aar发布到本地maven仓库
mvn install:install-file -Dfile=EnhancedListView-0.3.2.aar -DgroupId=de.timroes.android -DartifactId=EnhancedListView -Dversion=0.3.2 -Dpackaging=aar

 

(6) Using local .aar Android library packages in gradle builds
app/build.gradle:
repositories {
mavenCentral()
mavenLocal()
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'group.pals.android:filechooser:0.1.0@aar'
compile 'com.android.support:appcompat-v7:+'
}

project/build.gradle:
allprojects {
repositories {
mavenCentral()
mavenLocal()
}

本文转载自:http://www.cnblogs.com/janehlp/p/3725279.html

z
粉丝 4
博文 20
码字总数 5604
作品 0
武汉
程序员
私信 提问
Android studio gradle配置

Gradle 基本概念 首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android 。 build.gradle //设置脚本...

习惯_搬砖
2014/11/07
0
1
Android studio如何生成aar包

在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件。 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outpu...

飞翔的熊blabla
2018/08/01
0
0
Android Studio工程项目打包成SDK(jar或aar格式)

Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com.android.library’; (2)注释或删掉applicationId "co......

几忆年少红尘客
01/15
0
0
如何制作一个android studio的aar依赖包

首先说明我使用的android studio 版本是0.4.因为现在android studio的bug还不较多,所以你的版本能不能正常使用我就不敢说了。 如果你只是单纯的想使用actionbarsherlock的话,引用是十分简单...

手绘灿烂
2014/01/02
0
0
从Android到React Native开发(四、打包流程解析和发布为Maven库)

1、从Android到React Native开发(一、入门) 2、从Android到React Native开发(二、通信与模块实现) 3、从Android到React Native开发(三、自定义原生控件支持)  作为失踪人口,本篇是对...

恋猫月亮
2018/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么重复的GET请求变慢了?

最近在研究慢请求监控的问题,写了一个简单的测试代码:在网页端(index.html)通过fetch函数向服务端获取数据,然后打印请求耗时。 function requestData() { let start = new Date(); ...

Fundebug
17分钟前
4
0
5年时间,我从开发做到总裁的秘籍--如何提升技术型管理者的领导力

作者:阿里云MVP 肖凯 对于深耕技术的一线开发者而言,大多数都希望把技术工作进行到底,或者一直从事和技术技术相关性更高的工作。但随着年龄和经验的增长,我对管理和技术的思考越来越多、...

阿里云云栖社区
22分钟前
2
0
LeetCode 142:环形链表 II Linked List Cycle II

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 ...

iCodeBugs
23分钟前
3
0
使用Shell脚本程序监控网站URL是否正常

导读 监控网站URL是否正常最常见的方法莫过于wget和curl命令了,这两个命令都是非常强大的,强大到网友查看帮助都无从选择的地步了,今天呢,老男孩老师正好录制Shell编程实战课程。 wget命令...

问题终结者
24分钟前
1
0
教你用Python制作微信好友背景墙

目录: 0 引言 1 环境 2 代码实现 3 后记 0 引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像。 效果如下图,出于隐私考...

上海小胖
32分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部