首页 > 其他分享 >android中怎么将一个aar打包进另一个aar

android中怎么将一个aar打包进另一个aar

时间:2024-05-24 17:41:05浏览次数:16  
标签:gradlew fat build aar android com 打包

怎么将一个aar打包进另一个aar

方法一、使用fat-aar插件,不过由于fat-aar插件较长时间未更新,导致无法支持最新的Android版本(已不推荐使用)

第一步:在你的工程根目录下的build.gradle文件中添加以下代码:
buildscript {

 repositories {
   google()
   mavenCentral()
   jcenter()
   maven { url "https://jitpack.io" }
}

 dependencies {
   classpath 'com.android.tools.build:gradle:4.2.0'
   classpath 'com.github.kezong:fat-aar:1.3.8'
}
}

 

第二步:在你要打包成aar的模块下的build.gradle文件中添加以下代码:
apply plugin: 'com.android.library'
apply plugin: 'com.kezong.fat-aar'

注意:确保 ‘com.cpdroid.fat-aar’ 在’com.android.library’后面

第三步:用关键字 “embedded” 替代 “implementation” 或者 “compile” 就可以把依赖库打包进生成的 aar 文件,例如:
dependencies {
 embed fileTree (dir: 'libs', include: [ '*.aar' ])
 embed project (':moduleA')
 embed 'com.gongwen:marqueelibrary:1.1.3'

}

接下来配置 key文件

可以在 local.properties 目录内进行配置 

keystore.path=/Users/rbq/myDocument/key/inksi.jks

keystore.password=boxinkeji

key.alias=inksi

key.password=boxinkeji

使用 Gradle 命令行工具来生成 release 版本的 aar 文件。具体操作如下:

  • 打开 Terminal 窗口,可以在 Android Studio 中选择 View -> Tool Windows -> Terminal

  • 在命令行中输入 ./gradlew assembleRelease,回车执行

  • 等待打包完成,控制台会显示 BUILD SUCCESSFUL

  • 打包完毕后,可以在 build -> outputs -> aar 文件夹下找到生成的 release.aar 文件

  • 如果提示./gradlew: Permission denied,则可使用 chmod +x gradlew 命令来给 gradlew 文件添加可执行权限

./gradlew clean build 清理并重新编译

javadoc在使用的指令中自定jdk版本,要在命令行中使用javadoc命令,您可以按照以下的语法:

javadoc [options] [packagenames] [sourcefiles] [@files]

其中,packages是您要生成文档的包名,source-files是您要生成文档的源文件名,options是一些可选的参数,比如-encoding, -charset, -source等,@argfiles是包含参数、包名和源文件名的文件名。

例如,如果您要为Doc.java这个源文件生成文档,并指定编码和字符集为UTF-8,JDK版本为1.8,您可以输入以下的命令:

javadoc -encoding UTF-8 -charset UTF-8 -source 1.8 Doc.java

 

方法二、使用单独的指令,将opencv打包成aar(推荐使用)

第一步:假如opencv已经以module的形式添加进了项目当中,可以在Android studio的指令窗口执行如下指令

./gradlew :opencv:assembleRelease --warning-mode all

第二步骤 将编译好的opencv的aar文件放入到最后要打包的module的libs里边,再打包这个module

指令:比如

./gradlew :mxSdk:assembleRelease --warning-mode all

如果编译整个项目,则使用指令

./gradlew assembleRelease

标签:gradlew,fat,build,aar,android,com,打包
From: https://www.cnblogs.com/Free-Thinker/p/18211422

相关文章

  • Android 背景资源自定义 ShapeDrawble
    前言制作随时可以编辑的背景图,不需要向UI要背景图。【规则的】ShapeDrawable 是绘制形状的Drawable,定义了基本的几何图形,如(矩形,圆形,线条等)ShapeDrawable 根元素是 <shape/>效果图分别四种形状情况:ectangle(矩形)、oval(椭圆,包括圆)、line(线段)、ring(环形)......
  • Flutter Andriod打包发布和更新
    目录前言相关链接软件推荐Andriod打包更改软件icon未完待续前言软件发布和更新是肯定要做的。Flutter在安卓和IOS上面发布是不一样的。而且我也没有IOS的手机,只有一个破小米。所以我们这里以Android为例。相关链接flutterAndroid打包和发布:https://zhuanlan.zhihu.com/p/60......
  • RPM打包
    yum-yinstall  rpm-build生成rpmbuild目录结构rpmbuild-banginx.spec             //报错后会自动在家目录root下创建一个子目录ls/root/rpmbuild                    //自动生成的目录结构BUILD  BUILDROOT  RPMS  SOURCES......
  • Android JNI/NDK环境的配置与Demo编译
    一、背景​JNI(JavaNativeInterface)和NDK(NativeDevelopmentKit)在Android开发中扮演着重要的角色。JNI,即Java本地接口,是Java平台的一部分,它允许Java代码与其他语言写的代码进行交互。通过JNI,Java代码可以调用本地应用程序或库中的代码,也可以被本地代码调用。这主要使得......
  • Android11快速编译并替换framework.jar
    Android11快速编译并替换framework.jar在Android11之前修改了framework相关代码,只需makeframework就可以编译出framework.jar。在Android11,这个编译命令不起作用了,根据framework/base/目录下Android.bp中的提示:java_library{name:"framework-minus-apex",defaults:......
  • 关于如何使用JNI将C语言接口打包成可供java环境调用的so库文件
    一、环境检查在linux下打包.so文件,首先需要确认是否有安装java环境,可通过在终端中输入指令java的方式来进行查看。如下图所示,则为已安装java环境。  若当前未安装java环境,则可通过在终端中输入如下指令进行安装,我这里使用的java环境为1.8.0版本。sudoapt-getinstallo......
  • docker添加文件重新打包
    dockersave归档dockercommint按照运行状态打包一个镜像dockerbuild打包一个新镜像 [root@ecs-353585sdkjs-plugins]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTS......
  • 同样的APP为何在Android 8以后网络感觉变卡?
    前言 在无线网络技术不断发展的今天,Wi-Fi已经成为了我们日常生活中不可或缺的一部分。无论是家庭娱乐、办公还是在线游戏,Wi-Fi都在提供着便捷的互联网接入服务。然而,在安卓8.1后,为了进一步延长安卓设备的待机时间。原生安卓(AOSP等)默认开启了全局省电(低功耗模式),该模式下W......
  • utools插件开发踩坑记录 - vite+recat搭建打包到utools环境时运行页面报错unexpected
    问题现象在本地开发环境时,运行无问题,一但打包到utools环境运行时,就出现了下面的现象依赖"dependencies":{"@ant-design/icons":"^5.3.7","antd":"^5.17.3","react":"^18.2.0","react-dom":"^......
  • 基于ADB Shell 实现的 Android TV、电视盒子万能遥控器 — ADB Remote ATV
    ADBRemoteATVAndroidTV的遥控器,基于ADBShell命令ADBRemoteATV是一个AndroidTV的遥控器,基于ADBShell命令,泛用性更高。下面的shell命令,是软件的基本原理,通过shell命令可模拟物理遥控器的基本按键,此外还可以快捷启动指定APP、借助手机软键盘输入中/英字符等。......