Androidstudio 打包aar 无法引用类库中 dependencies 远程依赖

本文主要是介绍Androidstudio 打包aar 无法引用类库中 dependencies 远程依赖,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在网上看到一些Androidstudio 打包生成aar的方法:

  • 界面操作

       Build--> Rebuild Project         

  • 命令行操作

        gradle clean build

 

以上两种方法,前提Module是Library,调用系统build重新构建工程,完成后会在Module 模块下build---->outputs 目录中输出aar 类库文件

 

但是对于aar类库中包含dependencies 远程依赖的情况下,会出现无法调用类库的中依赖工程

例:aar类库中包含远程依赖volley, 此时按照如上方法打包出的aar,在目标工程中是无法调用volley使用的

compile 'com.mcxiaoke.volley:library:1.0.19'

 

解决方案

创建本地Maven 仓库,并生成可用aar 类库  

1.在项目根目录build.gradle 文件 buildscript -> repositories 中添加 mavenLocal()

2.在Library模块build.gradle 文件中添加如下代码,使用命令行执行 gradle uploadArchives  

apply plugin: 'maven'

uploadArchives {

    configuration = configurations.archives

    repositories {

        mavenDeployer {

            repository(url: "file://localhost/"+"Users/kevinbai/Desktop")

            pom.project {

                version '1.0.0'

                artifactId 'mcdnb'

                groupId 'com.payment.nb'

                packaging 'aar'

                description 'mcdnb'

            }

        }

    }

}

参数定义如下:

repository url 路径可自定义

version   版本

artifactId 名称

groupId  包名

packaging 类型

description 描述

 

完成后,会在如上指定目录URL(Users/kevinbai/Desktop) 中生成如下文件

 

注意:评论里边很多人找不到目标aar,请确认url 路径,不要和我写一样,我的路径里边包含了Mac用户路径

 

正确的使用方法

1.在项目最外层build.gradle 文件中添加如下代码(注意:路径与之前生成路径保持一致

​allprojects {

    repositories {

        jcenter()

        maven{  url "file://Users/kevinbai/Desktop"}

    }

}

 

2.在module build.gradle 文件中直接引用

  格式 :pom.groupId  :  pom.artifactId  :  pom.version 

  示例 :

          ​compile 'com.payment.nb:mcdnb:1.0.0'

注意:

这里一定不要把aar放到libs里边去使用,肯定加载不到的,一定要按照如上方法,直接从库里边加载,因为Maven库的配置

文件里边会有第三方类库的引用

评论里边很多人说我是标题党,说解决不了问题,请你们认真看文章!!

另外,使用maven 远程仓库最为方便,此处略

 

 

 

这篇关于Androidstudio 打包aar 无法引用类库中 dependencies 远程依赖的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071962

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Java Spring的依赖注入理解及@Autowired用法示例详解

《JavaSpring的依赖注入理解及@Autowired用法示例详解》文章介绍了Spring依赖注入(DI)的概念、三种实现方式(构造器、Setter、字段注入),区分了@Autowired(注入... 目录一、什么是依赖注入(DI)?1. 定义2. 举个例子二、依赖注入的几种方式1. 构造器注入(Con

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以