第三方类库源码

将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project,第三方类库并没有自动导入进来,看来需要自己动手了。

项目的目录结构如下:

XMPP$ ls

app build.gradle gradlew import-summary.txt XMPP.iml

build 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内加入:

dependencies {

compile project(‘:qqEmoji-lib‘)

...

1

2

3

1

2

3

在qqEmoji-lib下新建build.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‘

}

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的配置内容情参考最后第二个链接。

此时项目的结构见下图:

b8bb2d74759b940ee04b9ba6e96c0fc1.png

此时编译,通过,导入成功!

第三方类库jar包

这就简单多了,直接将jar包拷贝到app/libs下,然后在app下的build.gradle中添加此jar的依赖。如下:

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‘)

}

1

2

3

4

5

6

1

2

3

4

5

6

第三方so库

通常来说,我们调用第三方的so库是不需要额外工作的,只需将其放入指定目录,然后在Java文件中load即可。

比如我引用之前《第一个NDK程序》中编译出的libFirstLib.so,将其放到app/src/main/jniLibs/armeabi/下,在源码中引用:

static {

System.loadLibrary("FirstLib");

}

1

2

3

1

2

3

即可。程序运行如下图:

43898c60b6181acf75cca36f610c2f62.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐