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

本小妞迷上赌 提交于 2019-11-30 05:08:08
首先说明我使用的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 这个项目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



如果不能够编译我们可能要修改一下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 ,可以查看到详细的依赖关系
                   
          如果这一步你也搞定了,恭喜你就能和我一样使用依赖了
          
          Toast 显示的内容是依赖包中的一个静态方法返回的文本内容。

最后关于maven 如果搭建android项目的网址,按顺序看就可以
https://code.google.com/p/maven-android-plugin/
http://stand.spree.de/wiki_details_maven_archetypes
http://javacan.tistory.com/198

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!