android studio开发工具的android library打包文件(.aar)本地引用
by 蔡建良 2014-5-13
关键点:
利用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()
}
android studio开发工具的android library打包文件(.aar)本地引用的更多相关文章
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- Android Studio开发工具常用快捷键。部分总结,不全面,只包含新手可能少用的
Android Studio开发工具常用快捷键.部分总结,不全面,只包含新手可能少用的 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 首先说明,因为 ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...
- 安装并配置 Android Studio 开发工具和 Genymotion 模拟器
需求说明: 安装并配置 Android Studio 开发工具和 Genymotion 模拟器. 熟练使用 Genymotion 模拟器,掌握 Genymotion 模拟器的基本设置和程序安装. 实现 ...
- [Android 新特性] 谷歌发布Android Studio开发工具1.0正式版(组图) 2014-12-09 09:35:40
Android Studio是谷歌于13年I/O大会推出的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的Androi ...
- android studio 开发中启动android项目报错sdk版本不一致解决方案
安卓项目开发中新建项目后再run'的时候发现报错com.android.support:appcompat-v7依赖报错 查看下build.gredle所配置的参数: 打开项目的build.gradl ...
- 怎么分辨是eclipse还是 android studio开发的
eclipse开发的一般都会带.classpath文件.Android studio开发的一般都会有.gradle文件夹和build.gradle文件
随机推荐
- 5分钟理解iaas paas saas三种云服务区别
随着云计算的大热,向我咨询云计算相关问题的童鞋也越来越多,其中最近问的比较多的一个问题便是云计算中的pass是什么意思?整好今天有空,统一给大家解释下pass是什么意思?和Iass.Sass之间有什么 ...
- iOS在线音乐播放SZKAVPlayer(基于AVPlayer的封装)
由于最近闲着没事,想找有关在线音乐播放的demo学习一下,在gitHub跟code4APP上面查找了很多帖子,结果很多在线音乐都是基于AudioStream实现的,我感觉用起来不太方便.后来突然发现, ...
- Discuss!X3.2 绑定微信
完整程序 http://pan.baidu.com/s/1jGL5veQ 密码kgga Discuz!X3.2 在继承和完善 Discuz!X3.1 的基础上,针对社区移动端进行了新的尝试.新版本主要 ...
- JSP Session管理
本篇讲述JSP中session的相关知识和管理方法: 先说说cookie与session 在web中常用的两种用户信息管理方式:cookie 和 session. cookie是保存在用户客户端的 ...
- Matlab绘图高级部分
图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来.尤其在论文的撰写中,优雅的图形无疑会为文章加分.本篇文章非完全原创,我的工作就是把见到的Ma ...
- 转: $GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别
$_POST:通过 HTTP POST 方法传递的变量组成的数组.是自动全局变量. $GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变 ...
- 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 //&&&&&&&&&&&&&&&&&&a ...
- 利用ExtJS导出Excel
Ext.ns("Msp.Component"); //config = { // fileName : "净值及头寸核对", // exportDate : & ...
- JAVA设计模式之【工厂方法模式】
看例子 1.TV产品接口,负责播放 public interface TV // TV接口 { public void play(); } 2.TV工厂接口,负责生产产品 public interfa ...
- Machine Learning for hackers读书笔记(十二)模型比较
library('ggplot2')df <- read.csv('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\12-Model_C ...