Android Studio如何打jar包和aar包并使用

这篇具有很好参考价值的文章主要介绍了Android Studio如何打jar包和aar包并使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前有篇文章介绍了so库的生成和使用,看这里,但是,如果我们想把我们写的so库,通过java接口的方式提供出去,一般我们是打成jar包或者aar的形式提供,这篇文章介绍下如何打成jar包的,我们提供给使用方的是jar包和so库;

生成jar包方式

总的来说,AS打包生成jar包可以分成两类:

第一类是将应用模块application转换成库模块library后生成jar包
第二类是通过新建module库模块的方式生成jar包

module方式生成jar方式

今天我们主要讲解第二种方式;

第一类修改主app的方式

简单写下将应用模块application转换成库模块library后生成jar包步骤:

  • build.gradle 将com.android.application改成com.android.library
  • 注释掉applicationId
  • AndroidManifest.xml中application配置的属性去掉
  • 去掉Activity入口

后边的步骤和自建个module基本一致;

第二类:通过新建module方式生成jar包

新建module,File->New->New Module…
android studio 打jar包,Android,android studio,android,jar
选择Android Library,
修改名称等配置,finish;

这个时候就可以在module中写代码了;

  1. 编写build文件

如图所示,我们暴露了一个getStrFromNative()的测试方法,这个方法是从so中获取了一个字符串,方法名和包名一定要跟so生成的时候一致;这样调用方调用native方法的时候才不会报错;
android studio 打jar包,Android,android studio,android,jar
真正生成jar包的方法在build.gradle文件下修改;

    task makeJar(type: Copy) {
        //删除存在的
        delete 'build/libs/jarsdk.jar'
        //设置拷贝的文件
        // from('build/intermediates/bundles/release/')
        from('build/intermediates/aar_main_jar/release/')
        //打进jar包后的文件目录
        into('build/libs/')
        //将classes.jar放入build/libs/目录下
        //include ,exclude参数来设置过滤
        //(我们只关心classes.jar这个文件)
        include('classes.jar')
        //重命名
        rename ('classes.jar', 'jarsdk.jar')
    }
    makeJar.dependsOn(build)

将如上代码写到module模块下的build.gradle文件下的android闭包内;
android studio 打jar包,Android,android studio,android,jar
2. 生成jar
添加完后就可以生成啦,这里也有两种方式:

(1)通过cmd命令行方式
在AndroidStudio->Terminal中输入命令:

gradlew makeJar

(2)
通过Android Studio右边的Gradle的makeJar task;
android studio 打jar包,Android,android studio,android,jar
在module下的other目录里寻找到makejar,双击执行;
android studio 打jar包,Android,android studio,android,jar
如图所示就是成功了;
android studio 打jar包,Android,android studio,android,jar
如上图所示,在build->libs目录下,jarsdk就是生成的jar包;

如何使用jar包

将jar包拷贝到要使用的工程中,app->libs目录下;
在app->src->main目录下新建jniLibs,将so库拷贝过来,如图:
android studio 打jar包,Android,android studio,android,jar
如果生成so库请参见这篇:Android JNI编程并生成so库

build.gradle中,android闭包下添加

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

dependencies闭包下添加

 implementation files('libs/jarsdk.jar')

或者

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

然后代码里就可以使用我们暴露的getStrFromNative()方法了;

case R.id.btn_test:
                Toast.makeText(getApplicationContext(), NdkTools.getStrFromNative(), Toast.LENGTH_LONG).show();
                break;

android studio 打jar包,Android,android studio,android,jar
说明成功了;

aar生成并使用

aar生成

aar的生成比较简单,参考第二步创建的module,新创建一个module,然后编写自己需要的代码;
还是编写暴露的代码,如第二步中的getStrFromNative()方法;
引入需要的so库,新建jniLibs文件夹,把so库拷贝进来
android studio 打jar包,Android,android studio,android,jar
然后就可以makeproject
android studio 打jar包,Android,android studio,android,jar
然后就在build-outputs-aar文件下就可以看到生成的aar文件;
android studio 打jar包,Android,android studio,android,jar

aar使用

在使用的工程中,把aar拷贝到libs目录下:
android studio 打jar包,Android,android studio,android,jar
并且在build.gradle文件中引入

implementation files('libs/tts-debug.aar')

同步一下,就可以使用了getStrFromNative()方法了;

总结一下:
aar的生成和使用比较简单,也是google为了方便大家并推荐的方式;而且aar里面可以包含资源和so;
jar包的方式稍微麻烦一点,并且如果是提供sdk的话还得提供两部分代码,一个jar包和一个so库;文章来源地址https://www.toymoban.com/news/detail-790145.html

到了这里,关于Android Studio如何打jar包和aar包并使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android常用的第三方库--.jar、.aar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文 件。JAR是 Java 的一种文档格式,是一种与平台无关的文件格式,可将多个文件合成一个文件。只包含了class文件与清单文件 , 不包含资源文件,如图片等所有res中的文件 。 JAR的优

    2024年02月03日
    浏览(34)
  • android mk 和 bp 引入三方jar ,aar

    网上有很多关于这方面的介绍,我这边直接上完整的文件,供参考,想用的,直接修改模块名字,就可以使用了,避免踩坑. 1,LOCAL_PATH := $(call my-dir)         这个是固定的一般不需要改.my-dir 返回 Android.mk  文件本身所在的目录 2,LOCAL_MODULE_TAGS := user eng tests optional 这四

    2024年02月20日
    浏览(48)
  • 【Android studio+uniapp】将Android 的插件打包成aar包放在uniapp中使用, Android studio将uniapp本地资源包打包成apk, 以及一些常用的配置

    点击构建--rebuild project 打完包后会在build--output--aar文件夹中显示. 然后将这个.aar文件放到uniapp中的自定义插件中. nativeplugins这个文件夹名不能改,固定的.然后到app原生插件中选择你刚刚的本地插件 到这里你就可以使用自定义的安卓的插件了. 1,将uniapp端的代码打包成本地资源

    2024年02月04日
    浏览(53)
  • 编写Android.mk / Android.bp 引用三方 jar 包,aar包,so 库

            在Android10之后,所有项目工程中,官方推荐使用Android.bp去编译构建,以前使用Android.mk构建的项目随着版本迭代升级,慢慢需要变更为Android.bp, 两者的语法都需要去了解并熟练使用。 笔者之前写过Android.mk的语句介绍,里面有介绍每句代码的含义编写Android.mk把Andro

    2024年02月06日
    浏览(41)
  • Android Studio打包AAR

    依赖的Android Studio版本为4.2.2 更高的Android Studio版本使用方法可能有所不同,gradle的版本和gradle plugins的版本都会影响使用方式。 基于此,本文只能作为参考,而不能作为唯一答案,如果要完全依赖本文,则Android Studio版本也需要安装成4.2.2. Android AAR文件是Android Archive文件的缩

    2024年02月04日
    浏览(44)
  • Android中的SDK以及利用Android Studio生成aar

    广义上的SDK: 指的是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合。 比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iPhone的模拟器来运行,这就是

    2024年02月12日
    浏览(36)
  • Android studio中如何导入jar包(详细教程)

    进入Android studio 点击Android 选择project 复制好要导入的jar包,把jar包粘贴在app——libs里 导入后 右击jar包,再选择Add As Library..... 选择OK 好了(自动添加依赖)

    2024年02月12日
    浏览(33)
  • Android Studio 打包成 release的aar过程

    一、前言 接上次“ uni-app中调用java代码中的方法全过程 ”中java代码打包的aar为debug模式打包,本次记录下打包成release的aar过程。 二、打包过程记录 执行环境为Windows环境下的android studio android studio打开项目 找到Build-Make Project并执行 找到 Terminal窗口,并执行语句:./gradlew a

    2024年02月12日
    浏览(33)
  • 保姆级别使用android studio 生成jar包

    目录 1首先生成一个android library  2 找到刚才创建的项目build.Gradle  -----build.Gradle(:mylibrary)  3 写入最关键的执行代码 4  点击启动按钮  5 可以看到生成一个jar包了  6 如果一个jar包依赖了其他包,也可以直接一起打包依赖包。  7  使用jar包 File ---New---New Module 选择Android Libra

    2024年02月03日
    浏览(38)
  • android studio 使用lib中的framework.jar编译

    本文参考了网上搜索到的内容总结了一下,感谢大神们的无私奉献。 在App中的build.gradle中的android{}下添加: 此时可以编译出apk,但是android studio的代码检查还是标红的。 需要在setting - build - build tools -- gradle 选中iml  此时,在工程.idea目录下会生成../.idea/modules/app/xxx.app.main.

    2024年02月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包