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

相关文章

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下载包及其所有依赖到指定文件夹,请按照以

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主