如何制作一个android studio的aar依赖包

 我来答
huanglenzhi
2014-12-14 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向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
  

  如果不能够编译我们可能要修改一下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>
  <version>0.0.1</version>
  <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,修改了打包类型和插件版本以及添加了sdk位置。

  然后执行打包命令,就可以生成aar文件了,如果你是已经有写好的类库的话,可以尝试这修改成maven形式的。

  第二步
导入到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 ,可以查看到详细的依赖关系
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式