android aar文件怎么使用

 我来答
QQMSD8
2015-08-26 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

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_work\sdk\</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文件夹,放入想要导入的文件       

        

         1  修改build.gradle ,依然是给出我的大家可以按照自己的项目对比修改

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenLocal()
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
android {
    compileSdkVersion 18
    buildToolsVersion "18.1.1"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 18
    }
}
dependencies {
   // compile fileTree(dir: 'libs', include: '*.aar')
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.jayway.maven.plugins.android.generation2.samples.libraryprojects:aar-lib1:1.0.0@aar'
   //compile 'com.lee.study.android:NiMa:0.0.1@aar'
    compile 'com.android.support:support-v4:18.0.+'
}
android {
    compileOptions.encoding = "UTF-8"
}

 

repositories 添加了 flatDir , dependencies 里面添加了 依赖的aar文件。

如果你做到这一步,重新编译一下依赖就添加好了,我目前的版本添加完了aar访问aar中的资源文件是不成问题的,但是不能访问到aar中的类文件。如果你和我一样不幸的话,请看下一步

            2   手动的添加class.jar文件到android -studio,选中项目F4 ,手动添加依赖 jar到项目,看图片

         

          如果这一步你也搞定了,恭喜你就能和我一样使用依赖了   

浙江启扬智能科技有限公司
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
增栗斩q
2015-08-15 · TA获得超过1万个赞
知道小有建树答主
回答量:1953
采纳率:62%
帮助的人:173万
展开全部
aar
何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。
导出aar
首先Android Library项目的gradle脚本只需要在开头声明

复制代码代码如下:

apply plugin: 'com.android.library'

之后就和导出apk文件一样的方法,执行 ./gradlew assembleRelease,然后就可以在 build/outputs/aar 文件夹里生成aar文件

引用本地的aar
生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法
1、把aar文件放在一个文件目录内,比如就放在libs目录内
2、在app的build.gradle文件添加如下内容

复制代码代码如下:

repositories
flatDir
dirs 'libs' //this way we can find the .aar file in libs folder }

3、之后在其他项目中添加一句gradle依赖便方便的引用了该library

复制代码代码如下:

dependencies
compile(name:'test', ext:'aar')

总结
当然通过gradle最普遍的方法是把aar上传到mavenCentral或者jcenter,引用的话更方便,但是对于一些公司内部library不想公开,而传统的引用library方式又太繁琐,引用本地的aar文件这种方式会非常方便合适,之后通用的模块只需要做成library,不管更新还是修改只需要打包成aar,然后供其他项目使用就好了,对Android开发来说这是提升代码复用非常有效的一个手段。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
受司大人
推荐于2016-01-25 · 知道合伙人影视综艺行家
受司大人
知道合伙人影视综艺行家
采纳数:20262 获赞数:171846
毕业于浙江广厦,有一定的电脑专业基础和两年工作经验,读过相关书籍多本

向TA提问 私信TA
展开全部
 首先说明我使用的android studio
版本是0.4.因为现在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.+'
  }
  

  不过官方也出了一个兼容包,也非常的不错。so 没必要非得要使用actionbarsherlock。

  然后重新编译一下项目就行了。(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 这个项目
  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
  
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式