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)本地引用的更多相关文章

  1. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  2. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  3. Android Studio开发工具常用快捷键。部分总结,不全面,只包含新手可能少用的

    Android Studio开发工具常用快捷键.部分总结,不全面,只包含新手可能少用的 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 首先说明,因为 ...

  4. 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...

  5. 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...

  6. 安装并配置 Android Studio 开发工具和 Genymotion 模拟器

    需求说明: 安装并配置 Android Studio 开发工具和 Genymotion 模拟器. 熟练使用 Genymotion 模拟器,掌握 Genymotion 模拟器的基本设置和程序安装. 实现 ...

  7. [Android 新特性] 谷歌发布Android Studio开发工具1.0正式版(组图) 2014-12-09 09:35:40

    Android Studio是谷歌于13年I/O大会推出的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的Androi ...

  8. android studio 开发中启动android项目报错sdk版本不一致解决方案

    安卓项目开发中新建项目后再run'的时候发现报错com.android.support:appcompat-v7依赖报错 查看下build.gredle所配置的参数: 打开项目的build.gradl ...

  9. 怎么分辨是eclipse还是 android studio开发的

    eclipse开发的一般都会带.classpath文件.Android studio开发的一般都会有.gradle文件夹和build.gradle文件    

随机推荐

  1. 用C#实现Base64处理,加密解密,编码解码

    using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// 作者:周公 / ...

  2. 数论之高次同余方程(Baby Step Giant Step + 拓展BSGS)

    什么叫高次同余方程?说白了就是解决这样一个问题: A^x=B(mod C),求最小的x值. baby step giant step算法 题目条件:C是素数(事实上,A与C互质就可以.为什么?在BSG ...

  3. C++ 数组参数

    在C++中数组不是按值传递的,传递的是第1个元素,即第0个元素的指针. 1.数组长度不是参数类型的一部分,函数不知道传递给它的数组的实际长度,因此当编译器对实参类型进行参数类型检查时,并不检查数组的长 ...

  4. 程序空间(Program memory)

    The computer program memory is organized into the following: Data Segment (Data + BSS + Heap) Stack ...

  5. linux中U盘umonut时出现“Device is busy”的解决方法

    问题: #umount /dev/sda1 umount: /mnt/usb: device is busy 查找占用目录进程: #lsof |grep /mnt/usb bash 1971 root ...

  6. Control Flow ->> Containers

    Sequence Container: 它的作用就是可以把一组任务绑定起来成为一个整体,这样Sequence本身就是具有了任务(task)的特性,比如TransactionOption.如果需要把一组 ...

  7. Deeplearning原文作者Hinton代码注解

    [z]Deeplearning原文作者Hinton代码注解 跑Hinton最初代码时看到这篇注释文章,很少细心,待研究... 原文地址:>http://www.cnblogs.com/BeDPS ...

  8. 20_采用ContentProvider对外共享数据

    <AndroidManifest.xml> <application        <provider android:name=".PersonProvider&q ...

  9. [转]c/c++输入函数

    最全输入函数 c/c++ 一: c=getchar(); 功能:读入一个字符 说明:调用此函数时要求在程序的第一行有预编译命令:#include<stdio>,不过在做c++时 有#inc ...

  10. 《c程序设计语言》读书笔记--统计字符数

    #include <stdio.h> #define MAXLINE 1000 int getline(char line[],int maxline); void copy(char t ...