Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库

Stella981
• 阅读 454

第三方类库源码

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

此时项目的结构见下图:
Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库

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

第三方类库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

即可。程序运行如下图:
Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库

参考:
http://www.cnblogs.com/neozhu/p/3458759.html
http://www.open-open.com/lib/view/open1415793464648.html

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
半臻 半臻
2年前
Python基础4——模块与包
12模块与包模块通俗地理解为.py文件,里面定义了变量、函数和类。需要的时候就可以导入这些模块。执行步骤1.在python模块加载路径中查找相应的模块文件2.将模块文件编译成中间代码3.执行模块文件中的代码12.1模块分类1.内置模块,也叫标准库,比如说random,time,大概有200多个2.第三方模块,也称为第三方库,使用pipins
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Stella981 Stella981
2年前
Django之Django模板
1、问:html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2012082616:00:00,但是页面显示的却是Aug.26,2012,4p.m.答:为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td{{dayrecord.p\_time|date:
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Stella981 Stella981
2年前
Android版添加phonegap
1.下载插件包。2\.解压所下载的包,从lib目录中得到所需要的所有的库:BaiduSocialShareSDKAndroid2.0.0.jar3\.修改AndroidManifest.xml,增加以下权限:<usespermissionandroid:name"android.permiss
Stella981 Stella981
2年前
Android Studio导入第三方类库的方法
引用https://www.cnblogs.com/neozhu/p/3458759.html导入\.jar包新建好了Android项目,添加一个第三方已经打包好的jar文件进你项目,下面就已添加一个odata4j的一个包!(https://oscimg.oschina.net/oscnet/b83abf3278bd32
Stella981 Stella981
2年前
Smack_4_1_1 的聊天推送
基于openfire\_3\_10\_0、smack\_4\_1\_1 的聊天推送demo.前提:在最新版本中通过smack类库实现聊天内容的推送方式和旧版本变化有点大。《注意》在导入smack本身的jar包之外,还需要以下第三方库的支持,请事先准备下载:1. commonslogging1.2.jar2. httpc