天天看點

android 如何使用aar,Android Studio如何使用aar依賴包?

ps:2013-12-25 号更新,更新到0.4以後 這種方法已經完美使用!

因為項目裡面要用到actionbarsherlock,是以研究了一下如何導入到android studio中。

arr(Android Archive):名字是谷歌到的,至于中文叫什麼我也不知道。不過好像依賴都要使用這樣的包了。

首先說明我使用的android studio 版本是3.1.因為現在android studio的bug還不較多,是以你的版本能不能正常使用我就不敢說了。

如果你隻是單純的想使用actionbarsherlock的話,引用是十分簡單的

複制代碼

代碼如下:

dependencies {

// compile fileTree(dir: 'libs', include: '*.aar')

compile 'com.actionbarsherlock:actionbarsherlock:[email protected]'

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

複制代碼

代碼如下:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

com.lee.study.android

NiMa

aar

NiMa

UTF-8

4.1.1.4

3.8.0

com.google.android

android

${platform.version}

provided

${project.artifactId}

com.jayway.maven.plugins.android.generation2

android-maven-plugin

${android.plugin.version}

true

com.jayway.maven.plugins.android.generation2

android-maven-plugin

16

E:/android_work/sdk/

這是我的pom,打包類型改成aar,插件改成3.8版本,添加ANDROID_HOME到path。

5 執行 mvn install ,這樣我們就得到了aar檔案,和aar-class.jar檔案,其實aar檔案裡面包含class.jar檔案,但是我目前的版本必須手動導入到android studio中,這就是不完美之處。

第二步 導入到android studio中 建立libs檔案夾,放入想要導入的檔案

android 如何使用aar,Android Studio如何使用aar依賴包?

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:[email protected]'

compile 'com.jayway.maven.plugins.android.generation2.samples.libraryprojects:aar-lib1:[email protected]'

//compile 'com.lee.study.android:NiMa:[email protected]'

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到項目,看圖檔

android 如何使用aar,Android Studio如何使用aar依賴包?

如果這一步你也搞定了,恭喜你就能和我一樣使用依賴了

android 如何使用aar,Android Studio如何使用aar依賴包?

Toast 顯示的内容是依賴包中的一個靜态方法傳回的文本内容。

最後關于maven 如果搭建android項目的網址,按順序看就可以

https://code.google.com/p/maven-android-plugin/

http://stand.spree.de/wiki_details_maven_archetypes

http://javacan.tistory.com/198