第三方类库源码
将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project,第三方类库并没有自动导入进来,看来需要自己动手了。
项目的目录结构如下:
1XMPP$ ls 2app build.gradle gradlew import-summary.txt XMPP.iml 3build gradle gradlew.bat local.properties settings.gradle
-
1
-
2
-
3
-
1
-
2
-
3
将第三方源码qqEmoji-lib拷到此目录,修改settings.gradle增加此lib:
include ':app',':qqEmoji-lib'
-
1
-
1
修改app下的build.gradle,在dependencies内加入:
1dependencies { 2 compile project(':qqEmoji-lib') 3 ...
-
1
-
2
-
3
-
1
-
2
-
3
在qqEmoji-lib下新建build.gradle文件,内容参考如下:
1apply plugin: 'android-library' 2 3android { 4 compileSdkVersion 19 5 buildToolsVersion "21.1.2" 6 7 defaultConfig { 8 minSdkVersion 8 9 targetSdkVersion 18 10 } 11 12 sourceSets { 13 main { 14 manifest.srcFile 'AndroidManifest.xml' 15 java.srcDirs = ['src'] 16 resources.srcDirs = ['src'] 17 aidl.srcDirs = ['src'] 18 renderscript.srcDirs = ['src'] 19 res.srcDirs = ['res'] 20 } 21 } 22} 23 24dependencies { 25 compile 'com.android.support:appcompat-v7:19.1.0' 26 //compile 'com.android.support:support-v4:19.1.0' 27}
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
gradle的配置内容情参考最后第二个链接。
此时项目的结构见下图:
此时编译,通过,导入成功!
第三方类库jar包
这就简单多了,直接将jar包拷贝到app/libs下,然后在app下的build.gradle中添加此jar的依赖。如下:
1dependencies { 2 compile 'com.android.support:support-v4:19.1.0' 3 compile files('libs/libammsdk.jar') 4 compile files('libs/universal-image-loader-1.8.6-with-sources.jar') 5 compile files('libs/YoumiSdk_v5.00_2015-01-08.jar') 6}
-
1
-
2
-
3
-
4
-
5
-
6
-
1
-
2
-
3
-
4
-
5
-
6
第三方so库
通常来说,我们调用第三方的so库是不需要额外工作的,只需将其放入指定目录,然后在Java文件中load即可。
比如我引用之前《第一个NDK程序》中编译出的libFirstLib.so,将其放到app/src/main/jniLibs/armeabi/下,在源码中引用:
1 static { 2 System.loadLibrary("FirstLib"); 3 }
-
1
-
2
-
3
-
1
-
2
-
3
即可。程序运行如下图:
参考:
http://www.cnblogs.com/neozhu/p/3458759.html
http://www.open-open.com/lib/view/open1415793464648.html