美文网首页
android导入导出jar,aar,so以及远程库

android导入导出jar,aar,so以及远程库

作者: 肆无忌惮_c9a2 | 来源:发表于2018-09-29 11:36 被阅读0次

(目前知道的方法就是这些,后面如果有更好的方法在来更新)

首先对远程库的导入导出
上传一个远程库,前提是会使用github远程仓库托管代码。然后就是上传代码,添加releases,然后发布到jitpack就OK了。
为什么发布jitpack?唯一的原因就是简单,方便而已。。。
最后在项目中添加依赖就可以使用了。

关于jar和aar:

获取jar和aar包的方法相同,首先你的项目中要有Library。
rebuild project一下项目就OK了,然后在工程目录下library-build-intermediates-bundles-debug下得到classes.jar就是需要的jar包。
目录下library-build-outputs-aar下的aar文件就是aar包。

使用jar的方法很简单,把jar包放在app下的libs目录中,然后右键Add As Library就OK。
导入aar包也简单,同样将aar包放入libs目录下,然后在app的build.gradle中(和android{}标签同级)添加如下代码:

   repositories {
      flatDir { dirs 'libs' }
  }

然后添加依赖:(ss是你aar包的名称,不包括后缀)

    implementation(name: 'ss', ext: 'aar')

OK。。

对于jar和aar包的导入也可以直接使用一句话全部导入

  implementation fileTree(include: ['*.jar'], dir: 'libs')

jar包和aar包的主要区别:

jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。

aar: 包含jar包和资源文件,如图片等所有res中的文件

也就是说aar包含的东西更多,如果library中包含资源的数据就必须使用aar。

关于so库:

对于so库的导出,这里不在介绍,我那篇ndk的文章中提到了,这里说一下如何导入

首先在main目录下创建jniLibs目录,将.so文件放入其中。

然后在java目录下创建相应的目录,在此目录下创建相应的类,在类中创建相应方法

例如若c文件中的方法名为

Java_a_b_c_JniUtils_getStringFormC

那么需要创建的目录为a.b.c

需创建的类和方法为:

public class JniUtils {
    static {
        System.loadLibrary("password");   //静态库名称要和生成静态库时用的库名相同
    }
    public static native String getStringFormC();
}

由于必须知道方法名和库名,所以使用so库一定需要提供相应的文档和使用方法才行。

相关文章

网友评论

      本文标题:android导入导出jar,aar,so以及远程库

      本文链接:https://www.haomeiwen.com/subject/vjpvoftx.html