android studio开发<十一> Library第三方类库源码, Jar包和SO库

来源:互联网 发布:淘宝搜索词分析收费 编辑:程序博客网 时间:2024/06/14 01:18

原创:

发现android里面不熟悉的东西太多了,查了好多资料,终于搞清楚 Library第三方类库源码, Jar包和SO库这些都是干什么的了,怎么使用它们了。


Library第三方类库源码

Java中单纯的java文件可以打包成库,但是andorid中的模块可能会包含一些资源文件、或者对android有依赖等等,这时就需要Library了,可以实现通用模块的重复使用。


引用Library:

1.以模块Module的形式添加进来(本系列教程有讲到Module)。

2.加入依赖,build.gradle下写入

dependencies {
    compile project(':libcocos2dx')
}


Jar包

JAR 文件就是 Java Archive File,是 Java 的一种文档格式,因为跟ZIP很相似,所以叫包,比 ZIP 文件就多了 一个 META-INF/MANIFEST.MF 文件,只包含java代码,不可修改。


Jar包存放路径:libs文件夹

引用Jar包:

build.gradle下写入

dependencies {
    compile files('libs/umeng_social_sdk.jar')   //单个Jar包

    compile fileTree(dir: 'libs', include: ['*.jar'])    //所有Jar包
}


SO库

Linux系统下的动态库文件, 就像win系统下的dll文件差不多。由C/C++库文件编译成so文件。可以让JAVA调用C++程序。


SO库存放路径:src\main\jniLibs\armeabi文件夹(普通CPU)    也可以是armeabi-v7a文件夹(32位ARM v7 CPU)  还可以是arm64-v8a文件夹(64位ARM v7 CPU

引用SO库:

build.gradle的android节点下写入

    sourceSets.main {
        jniLibs.srcDir 'libs'
        jni.srcDirs = []
    }

或者

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    } 


这个地方其实我还没搞太懂,这两种写法有的时候一个对一个错,还要深入研究一下,哪个对用哪个。引用成功的话,会在Android目录结构下看到这个SO文件,反之找不到这个文件。




0 0
原创粉丝点击