美文网首页
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