將一網友的XMPP代碼從ADT轉到AS時,發現其使用了第三方類庫,源碼放在了lib下,直接在AS中Import project,第三方類庫並無自動導入進來,看來須要本身動手了。html
項目的目錄結構以下:java
XMPP$ ls app build.gradle gradlew import-summary.txt XMPP.iml build gradle gradlew.bat local.properties settings.gradle
將第三方源碼qqEmoji-lib拷到此目錄,修改settings.gradle增長此lib:android
include ':app',':qqEmoji-lib'
修改app下的build.gradle,在dependencies內加入:app
dependencies { compile project(':qqEmoji-lib') ...
在qqEmoji-lib下新建build.gradle文件,內容參考以下:gradle
apply plugin: 'android-library' android { compileSdkVersion 19 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 8 targetSdkVersion 18 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] } } } dependencies { compile 'com.android.support:appcompat-v7:19.1.0' //compile 'com.android.support:support-v4:19.1.0' }
gradle的配置內容情參考最後第二個連接。ui
此時項目的結構見下圖:
spa
此時編譯,經過,導入成功!.net
這就簡單多了,直接將jar包拷貝到app/libs下,而後在app下的build.gradle中添加此jar的依賴。以下:code
dependencies { compile 'com.android.support:support-v4:19.1.0' compile files('libs/libammsdk.jar') compile files('libs/universal-image-loader-1.8.6-with-sources.jar') compile files('libs/YoumiSdk_v5.00_2015-01-08.jar') }
一般來講,咱們調用第三方的so庫是不須要額外工做的,只需將其放入指定目錄,而後在Java文件中load便可。
好比我引用以前《第一個NDK程序》中編譯出的libFirstLib.so,將其放到app/src/main/jniLibs/armeabi/下,在源碼中引用:xml
static { System.loadLibrary("FirstLib"); }
便可。程序運行以下圖:
參考:
http://www.cnblogs.com/neozhu/p/3458759.html
http://www.open-open.com/lib/view/open1415793464648.html