关于安卓打包生成aar,jar实现(一)

这篇具有很好参考价值的文章主要介绍了关于安卓打包生成aar,jar实现(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于安卓打包生成aar,jar方式

背景

在开发的过程中,主项目引入三方功能的方式有很多,主要是以下几个方面:
(1)直接引入源代码module(优点:方便修改源码,易于维护,迭代。缺点:对于新手不友好,可能会遇到依赖兼容问题,需要排除并且适配)
(2)远程依赖,目前主要是用maven依赖。(优点:几行代码即可依赖完成。缺点,库存在问题的话,修改很麻烦)
(3)直接引入jar或者aar。(module编译后的产物,优点:可增加混淆之类的规则,使代码更安全,隐蔽。缺点:本地修改会有难度,编译有一定的难度)

本文,就是讲述,如何使用androidstudio打包生成aar,jar。

环境

win10
jdk 11
jdk 8
as 4.0+
gradle 7.0+

编码

首要要搞懂,aar包和jar包有什么区别?很简单来说,aar包是在jar包上,增加了资源,例如layout,res。
如果你开发的是一个纯业务类型的库,可以打jar包。如果涉及到界面等逻辑,就需要打aar包了。

(一)生成aar包
首先,要有个androidstudio中的module。然后clean project,build project即可生成。具体目录,就是在module对于的build项目下查找,即可看到,结构如下图:
关于安卓打包生成aar,jar实现(一),安卓实战,android,jar,java
那么,又是如何生成release的aar包呢?
只需要点击右侧边栏的gradle->对应模块->other->assembleRelease,等待编译完成即可,编译后内容如下图:
关于安卓打包生成aar,jar实现(一),安卓实战,android,jar,java
上述就是一些关于model如何生成一个aar包的操作。

(二)生成jar包
对于生成一个jar包,比aar包要复杂一点。需要在模块目录的build.gradle文件,加入以下代码:

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

其中,函数from中的路径,是随着gradle的版本不一样二变化的。需要在build目录下进行查找。
上述代码的意思,仅仅是把jar包复制出来,其实原jar包的目录是在比较深的层级的。

(三)代码混淆
对于完成了(一)(二)两步的朋友,现在已经接近尾声了。最后就是一个代码混淆的问题。如果不涉及混淆,请忽略该步骤。
对于module中的打包aar/jar代码混淆,需要在build.gradle文件中,buildTypes路径下,加入以下代码即可:

    buildTypes {
        release {
            minifyEnabled true
            /*模块混淆*/
            consumerProguardFiles 'proguard-rules-libxui-queue.pro'
            /*打包aar,jar混淆*/
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules-libxui-queue.pro'
        }
        debug {
            minifyEnabled false
            /*模块混淆*/
            consumerProguardFiles 'proguard-rules-libxui-queue.pro'
            /*打包aar,jar混淆*/
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules-libxui-queue.pro'
        }
    }

其中,很清晰明了的一句,就是 /打包aar,jar混淆/

            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules-libxui-queue.pro'

而“proguard-rules-libxui-queue.pro”请替换成你开发module的具体混淆文件名字即可。
上述代码的意思就是,如果是正式包,则开启混淆,测试包则不开启。当然,主项目的混淆状态也会直接影响子module的混淆状态。

注意

混淆的过程中,需要遵循对应的混淆原则。否则会出现无法识别的情况。
还有,对外的输出的jar包,aar包,也应该附带对应的混淆规则说明。

that‘s all-------------------------------------------------------------------------------文章来源地址https://www.toymoban.com/news/detail-641640.html

到了这里,关于关于安卓打包生成aar,jar实现(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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日
    浏览(57)
  • 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日
    浏览(57)
  • Android Studio如何打jar包和aar包并使用

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

    2024年02月01日
    浏览(46)
  • Android修改aar并重新打包

    目录 一.修改 aar 需要用到的工具(就一个工具,使用方式非常简单,别担心) 二.修改 aar 代码层业务逻辑 三.修改 aar layout 布局文件 四.附上recyclerview aar修改工程源码 注:(下面工具,点击名称可进入下载链接,如果链接失效,请百度搜索下载) Bandizip ,一款非常好用的解

    2024年02月15日
    浏览(37)
  • android sdk打包aar方案步骤

    第一步:添加以下代码到你工程根目录下的 build.gradle 文件中: For Maven Central (The lastest release is available on Maven Central): 第二步: Add plugin 添加以下代码到你的sdk所在library的 build.gradle 中: 第三步: Embed dependencies embed 你所需要的工程, 用法类似 implementation 代码所示: 第四步: 执行

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

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

    2024年02月06日
    浏览(48)
  • 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日
    浏览(43)
  • android使用fat-aar打包,本地aar和第三方依赖库以及遇到的问题

    需要把有个模块打包成aar,直接打包的话,模块中引用的jar、aar、第三方依赖库都不会打包进去。直接生成的aar缺少内部引用的以来,所以要用到fat-aar来把模块中用到的依赖也打包进去。 1.首先在项目的gradle加入 2.在repositories加入 3. 在需要打包aar的build.gradle中加入 4.第三方

    2024年02月15日
    浏览(43)
  • Android aar包的生成与使用

    最近用Android Studio开发Android时,会经常接触到aar包(Java Archive),aar包含所有资源,class以及res资源文件全部包含。 Android通过aar方式把代码和资源打成一个包,提供给第三方使用或者是开发者自己使用 如下图所示,在新创建的Android项目中建立一个Android Library 如下图所示,

    2024年02月12日
    浏览(40)
  • (转)【Android】AAR文件的生成与使用

    文章目录 前言 一、AAR是什么? 二、使用步骤 1.生成AAR 2.AAR使用 总结 前言 现在App开发模块化技术已是常态,有很多的功能模块都被抽出来供给开发者使用。为了开发者使用,这些模块都会被打包,就和java中的库一样。在java中,一个模块可以被打包为Jar包,而在Android中,不

    2024年02月07日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包