zoukankan      html  css  js  c++  java
  • Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库

    第三方类库源码

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

    此时项目的结构见下图: 

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

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

    即可。程序运行如下图: 

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

  • 相关阅读:
    SVN
    Oracle用户、权限、角色管理(转)
    X5学习笔记—给单元格添加颜色
    JdbcTemplae使用入门&&Spring三种连接池配置&&Spring配置文件引用外部properties文件
    依赖注入Bean属性
    IoC容器装配Bean(xml配置方式)(Bean的生命周期)
    Spring配置文件的读取
    Spring IoC反转控制的快速入门
    spring security 权限框架原理
    win7 开机,或重启自动启动 该文件下的
  • 原文地址:https://www.cnblogs.com/wangfeng520/p/6114960.html
Copyright © 2011-2022 走看看