Android Studio(九):引用jar及so文件

Android Studio相关博客:

Android Studio(二):快捷键设置、插件安装


今天有人问我,Android studio的项目,明明把第三方的jar文件拷贝到了module的libs文件夹下,为何还是无法再代码中调用jar包中的API?

我说,你需要手动编译你的jar包,编译后会在gradle配置文件中看到相应jar包的引用。

那如何编译呢?

通常来说,有两种方法,但其实质是一样的。


引用jar包:


方法1:

    · 将jar文件复制、粘贴到app的libs目录中

    · 右键点击jar文件,并点击弹出菜单中的“Add As Library”,将jar文件作为类库添加到项目中;

    · 选择指定的类库。

    注:如果不执行2、3步,jar文件将不起作用,并且不能使用import语句引用。



方法2:

  · 将jar文件复制、粘贴到app的libs目录中

  · 确认你的build.gradle文件的内容是否有,没有就加上,它的意思是编译所有libs文件加下的jar包

          dependencies {
               compile fileTree(dir: 'libs', include: ['*.jar'])
           }

  · 点击控制面板上的小图片Sync Project with Gradle Files



学会了如何在Android studio项目中如何引用jar包后,那如何引用so文件呢?它可不像Eclipse那样直接把so文件夹拷贝到libs文件夹下就好了。总之,要引入so文件,你得注意下如何去配置:


引入so文件:


引入so文件也有两种方法,具体使用哪一种,看开发者自己如何选择了。


方法一:

   · 在“src/main”目录中新建名为“jniLibs”的目录;

   · 将so文件复制、粘贴到“jniLibs”目录内。
    注:如果没有引用so文件,可能会在程序执行的时候加载类库失败,有类似如下的DEBUG提示:
    java.lang.UnsatisfiedLinkError: Couldn't load library xxxx from loader dalvik.system.PathClassLoader



有些看过我之前写的Android Studio(七):项目从Eclipse到Android Studio迁移 的人可能会郁闷了,要知道导出的项目,可是没有main目录的啊,那该如何是好呢?那不妨看看第二种引入so文件的方法吧。


方法二:

   · 把so文件拷贝到libs文件夹下

   · 在build.gradle文件中配置




好啦,就是这么简单的几步,就可以轻松的把so文件引入到你的工程中了。

原文地址:https://www.cnblogs.com/hehe520/p/6329964.html