① 如何在android Studio添加aar包或jar包引用
最近刚从eclipse换到Android Studio开发,发现有很多地方与eclipse不大相同 ,还不怎么习惯.
在开发是有事会用到第三方jar包 或者aar包 ,下面说一下这两种包的引用方法:
首先看一下android studio 的项目基本结构:
2.导入arr包:
这是我之前导包时出现的错误:
Error:Project app:
Only Jar-type local dependencies are supported.Cannot
handle: D:-debug.aar // 意思应该就是仅支持本地依赖
a.同jar包一样复制到libs目录下面
b.找到该moudle的build.gradle文件 ,加入
repositories {
flatDir { dirs 'libs' } } //作用是添加一个本地仓库,并把libs目录当做仓库地址
C.在dependencies 里加一行代码
compile(name: 'aar-name', ext: 'arr')
重新构建项目 ,在app/build/intermediates目录下就能查看到aar的内容了.
这时候我们就可以在项目中正常使用第三方的类了.
② “android arr”和“jar的”区别是什么
两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
使用方式:
*.jar:拷贝到:libs目录,eclipse直接导入即可,AndroidStudio项目中添加:
[java] view plain
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
重新编译一次项目既可完成加载。
*.aar:有两种方式,分别为本地加载以及网络加载,由于网络加载涉及到发布到mavenCentral托管的问题这里不做讨论;另外eclipse很久没有使用了也不做讨论;在这里给大家说一种本地加载的方式,简单快捷。
这里演示的aar文件为:”genius.aar“
第一步:拷贝到:libs目录
第二步:build.gradle 配置文件中更改为
[java] view plain
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'genius', ext:'aar')
}
分别添加了”repositories“与更改了”dependencies“,然后重新编译一次项目就可以正常使用了。
这时打开你的项目地址”\build\intermediates\exploded-aar\“你会发现下面多了一个文件夹”genius“打开后能看见里边包含了一个”classes.jar“文件与一些资源文件和”R.txt“文件。
这就是Android Studio自动解析了aar文件后出现的东西。
一.android studio引入aar包接入方式
1..File—>New—>New Mole—>Import .JAR/.AAR Package
2.Open Mole Settings—>Dependencies 添加依赖
完成aar包的引入
③ jar包与aar包文件的区别
两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
1. *.jar,JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。找一个jar文件,然后修改后缀名为‘zip’或者‘rar’格式,然后解压该文件,打开解压后的文件夹,截图如下所示:
点击‘com‘文件夹就会看到里面全部是‘.class’文件。
2. *.aar,AAR(Android Archive)包是一个Android库项目的二进制归档文件。我们随便找一个aar文件,然后修改后缀名为‘zip’或者‘rar’格式,然后解压该文件,打开解压后的文件夹,截图如下所示:(每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt)
*.aar文件中包含所有资源,class以及res资源文件。
使用
1. *.jar文件使用。
*.jar文件拷贝到libs目录,eclipse直接导入即可,AndroidStudio项目中添加:
重新编译即可完成。
2. *.aar文件使用。
*.aar文件使用有两种方式,一种是使用在线的(网上的),一种是添加本地的*.aar文件。网络加载,只要你知道*.aar文件在maven中的路径即可,此处不演示了。下面主要看看在Android Studio中如何加载本地的*.aar文件。
(1).把aar文件放在一个文件目录内,比如就放在libs目录内;
(2).在app的build.gradle文件添加如下内容;
(3).之后只需要添加一句gradle依赖便方便的引用了该aar文件;
至此,在Android Studio中加载本地的*.aar文件就结束,是不是很简单呢!需要补充一点,如果*.aar文件中引用了其他Maven 仓库的包,那么需要在gradle中添加依赖,否则在运行的时候,可能会报“Caused by: Java.lang.ClassNotFoundException”!
如何在Eclipse中使用aar文件
1.拿到aar文件后,解压。如不能解压,修改后缀为zip后解压(推荐工具7-zip,巨强大好用,能直接解压很多类型)。
解压后如下:
2.把classes.jar直接复制到自己的项目lib包下使用。推荐改名字后使用,要不然太乱。
3.在第一步解压好的目录下新建project.properties。写入target=android-22 android.library=true 保存。
4.删除aapt,jni等无用的文件夹以及R.txt文件等。
5.导入eclipse作为library使用给自己的项目。
---------------------
原文:https://blog.csdn.net/miao0967020148/article/details/79608516
④ 如何在Android Studio添加aar包或jar包引用
1、首先Android工程的主应用程序是iTool,我们是在主应用程序中引用其它的jar包。2、依次点击【File】——【New】——【New Mole】,弹出【Create New Mole】窗体,在窗体中选择【Import .JAR/.AAR Package】选项,然后点击【Next】按钮,进入jar包文件选择界面,在该界面中选择一个jar包文件并给它命名,最后点击【Finish】按钮。添加完jar包文件后如图所示。3、添加完jar包以后,接下来就该让主应用程序iTool对它进行引用了。选中iTool,右键菜单,点击【Open Mole Settings】选项,或者直接按下F4键,弹出【Project Structure】窗体。4、选中【Moles】区域中的iTool,在右侧区域中选择【Dependencies】选项卡,点击右侧的【+】按钮,在下拉列表中选择【Mole Dependency】,弹出【Choose Moles】窗体,在里面选中刚才添加的jar包,然后点击【OK】按钮即可完成jar的引用。
⑤ 如何在Android Studio添加aar包或jar包引用
1、新建一个Demo项目2、新建好的项目结构如下图:其中app是我们的主要mole,libs下存放外部的librarybuild.gradle是配置Appmole的,接下来主要对其操作。3、复制外部aar包到libs目录下。4、修改build.gradle配置文件:1:添加repositoriesflatDir{dirs'libs'}}这个是添加一个本地仓库,并把libs目录作为仓库的地址。5、2:修改dependencies:添加一行:compile(name:'usericonchooserutil',ext:'aar')其中name就是libs目录下usericonchooserutil.aar文件名称,ext,就是usericonchooserutil.aar的扩展名6、重新编译项目:从工具栏依次选择:"Build"-->"rebuildproject"7、编译完成后,在app/build/intermediates/exploded-aar/a就可以看见我们引用的aar包内容了,其中jar目录下是jar文件,res下是我们aar包里的资源文件。8、这个时候就可以在项目中使用第三包的类了,如下图:
⑥ Android将Library 打Jar包和aar包
jar包和aar最简单的区别:
jar文件:
只包含class文件和清单文件,不包含资源文件,比如图片等所有的 res下的资源文件;
aar文件:
class以及res下的所有的资源文件全部包含;
这是我配置的一大堆, 为了将libs下的jar包也打进去, 所必要的配置
一定要确保 release目录下有classes.jar包, 如果没有就自动自动生成
AS如下图直接 双击assemble,会在bundles目录下面生成debug和release文件夹
如图:
⑦ Android发布AAR包
最近有需求要发布一套SDK,这套SDK有几个要求:
依照上面的要求我最先想到的就是AAR包了,因为以下几个原因:
打包aar其实很简单,只需要我们创建一个Library工程就可以了。
这个时候编译Library就会在outputs目录下生成一个aar文件夹,里面包含aar文件。
aar也是可以混淆的,方式和apk一样。
引用aar可以有两种方式,一种是本地引用,一种是远端库引用,目前我只用到了本地引用,远端的以后会补上。首先在bulid.gradle文件中定义一个本地库。
然后在依赖引用的地方添加依赖。
name:aar包的名字;ext:扩展名;
打包aar包的时候会自动将lib目录下的jar打包进aar包中。
因为分层的原因,有多个library工程,这样就会有多个aar,发布起来很麻烦,尝试google了半天,发现目前都是一个办法,android-fat-aar,一个gradle脚本,github地址是: https://github.com/adwiv/android-fat-aar 。不过我发现他支持gradle2.2.X之前的版本,新的3.X版本并不能执行。这块还在继续摸索,有知道办法的大神请指教一下~~~~
⑧ android aar文件怎么使用
arr(Android Archive):名字是谷歌到的,至于中文叫什么我也不知道。不过好像依赖都要使用这样的包了。
首先说明我使用的android studio 版本是3.1.因为现在android studio的bug还不较多,所以你的版本能不能正常使用我就不敢说了。
如果你只是单纯的想使用actionbarsherlock的话,引用是十分简单的
dependencies {
// compile fileTree(dir: 'libs', include: '*.aar')
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.android.support:support-v4:18.0.+'
}
然后重新编译一下项目就行了。(ps 这两天看见群里面都在讨论引用第三方jar包,请看我的第一行注释,你只要新建一个libs的文件夹,然后把想要jar包复制到文件夹下,接着把注释那句复制到build文件中,修改一下(*.aar -> *.jar)就可以了)
但是我们要是使用本地的aar文件,我谷歌了两天总算是勉强能用了,请看我的实现过程,如果你有更好的请转告小弟共同进步
第一步 :生成aar文件
我的方法是通过maven-android-plugin来生成的,如果你使用过actionbarsherlock以前的版本的话,这个工具应该不陌生,如果你连maven 都不知道的话,建议好好学习一下maven,虽然现在gradle很火 ,但是我还是最喜欢maven。
关于具体生成步骤不久不详细说了,文章最后贴出几个网址供大家学习使用,放心我按顺序给你们,只要一步一步的来绝对能成功
1 把你的maven版本提升到3.1.1
2 去github上clone下来 maven-android-sdk-deployer 这个项目https://github.com/mosabua/maven-android-sdk-deployer,按照使用说明安装android的版本
3 通过maven-android-plugin生成一个android项目
mvn archetype:generate
-DarchetypeArtifactId=android-quickstart
-DarchetypeGroupId=de.akquinet.android.archetypes
-DarchetypeVersion=1.0.11
-DgroupId=your.company
-DartifactId=my-android-application
4 修改pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lee.study.android</groupId>
<artifactId>NiMa</artifactId>
<packaging>aar</packaging>
<name>NiMa</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version> 4.1.1.4
</platform.version>
<android.plugin.version>3.8.0</android.plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${platform.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>16</platform>
<path>E:android_worksdk</path>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
这是我的pom,打包类型改成aar,插件改成3.8版本,添加ANDROID_HOME到path。
5 执行 mvn install ,这样我们就得到了aar文件,和aar-class.jar文件,其实aar文件里面包含class.jar文件,但是我目前的版本必须手动导入到android studio中,这就是不完美之处。
第二步 导入到android studio中 创建libs文件夹,放入想要导入的文件
如果这一步你也搞定了,恭喜你就能和我一样使用依赖了