android studio library 模块中正确引用aar的实例讲解
今天对接一个海康监控的sdk,其中sdk 是以aar的形式提供的,并且我需要用到此aar的模块是个library。所以按照正常的在application模块中引入aar的方式一致报错,首先提示要关闭offline ,然后关闭了还是会提示错误。想了很久不明白。最终通过公司前辈的指导,正确的引入了aar。
1.除了和正常的aar的引入方式外,我们还需要在application所在模块的build.gradle文件中加入如下一段:
repositories { flatDir { dirs 'libs', '../模块名/libs' } }
在application的build中也要加入文件的指向,可加入各个模块,其中用逗号隔开,模块名就是你的modlename。
然后在你自己模块中还要正确引入:
repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile(name: 'aar名字', ext: 'aar') }
到此aar的引入就完成了。
———————————— 更新于 2018-01-03 ————————————
最好使用远程依赖的方式,这种方式可以有效解决,多层级依赖,导致相同的库文件重复的问题。
远程依赖的规则是不传递依赖,这样本模块依赖的再引用的模块是不可见的:
模块A,B,C
如果B依赖C并且是远程依赖,那么A依赖B的时候,C对于A是不可见的。
如果我们需要A中使用C,那么可以在A中依赖C。
另一种解决方式:
那么我们在library中依赖aar的时候就可以考略将此aar上传到maven仓库或者其他的远程地址,这样在依赖的时候就不会出现编译不通过或者运行不了的问题。
您可能感兴趣的文章:
- Eclipse NDK迁移到Android Studio的方法示例
- 在启动栏制作android studio启动图标
- 深踩Android Studio 缓存的坑及解决方法
- Android Studio 3.0 Gradle 配置变更
- Android Studio设置、改变字体和主题的方法
- 使用Android studio编写一个小的jni程序
- Android Studio 代码导航快捷键
- Android Studio多工程引用同一个library项目配置的解决方法
- Android Studio中Run按钮是灰色的快速解决方法
- Android Studio 下载视频到本地
- 详解Android Studio中Git的配置及协同开发
- Android Studio配置内嵌JDK的方法
- AndroidStudio 配置 AspectJ 环境实现AOP的方法
- 详解如何在Android Studio中添加RecyclerView-v7支持包
- Android Studio 一个工程打包多个不同包名的APK实例详解
- Android Studio中导入module的方法(简单版)
- Android Studio 引用外部依赖时报错的解决方法
- android项目从Eclipse迁移到Android studio中常见问题解决方法
相关推荐
-
Android Studio 代码导航快捷键
简评:作为一位 Android 开发者,Android Studio 肯定是每天都要打交道的,熟练掌握其中的快捷键等技巧可以提高我们不少的效率. 虽然,网上有着很多列出快捷键的文章,但只是简单的看一看快捷键和说明,很难让人理解和掌握.本篇文章就专注于代码间导航的快捷键,配合动图,希望能帮助你记忆. TL;DR 下面的快捷键都是在 mac 上,快捷键设置是 Mac OS X 10.5+: ⌘ + O : 查找类. ⌘ + ⌥ + O : 通过信息(symbol)查找. ⌘ + ⇧ + O : 查找
-
Android Studio多工程引用同一个library项目配置的解决方法
在使用Android Studio开发的时候,如遇到多个项目引用同一个library的情况时,会遇到在每个项目中都要有一套library的代码的情况,对于还在开发和维护中的Library需要频繁的修改,这对同步就很麻烦,为了解决这个问题,出现了下面的解决方案. 首先:新建一个类库工程,工程名为AppLibs.Dev. 在该类库中包含一个公共的类库appLibs的Module,Module下面的build.gradle配置如下: /** 声明是Android类库 */ apply plugin:
-
详解Android Studio中Git的配置及协同开发
一. Android Stutio配置git setting–>Version Control–>Git–>Path to Git executable中选择git.exe的位置,这个Stutio一般会默认配置好: 配置完路径后点击后面的Test按钮,出现下面提示框则表示配置成功: 二. 将项目分享到github 1. 设置github账号密码 打开Setting–>Version Control–>GitHub,填写完账号密码后,点击Test测试,如果连接成功会弹出如下提示
-
深踩Android Studio 缓存的坑及解决方法
本文记录的是今天在群里提到的昨天所踩的一个坑,有关 AndroidStudio 缓存的. 先说一下背景. 我负责的一个项目,对一个图表库有外部依赖.这个图表库是我在维护的,由于新功能在开发中,所以我就使用了 SNAPSHOT 版本发布到 OJO(oss.jfrog.org) 上.我在项目中刚更新了依赖,忽然想到还少几个 API,于是发布了 SNAPSHOT 版本. 故事就这样开始了. 这时候回到 AndroidStudio 再去 Sync Project with Gradle Files 肯定
-
Android Studio中Run按钮是灰色的快速解决方法
首先是,在不同的AS中,gradle版本不同,下载的sdk版本不同,这些,都在gradle(Project.Models)相关代码里调过来就好.之前的文章里有说过. 经过调好gradle这些文件,AS已经可以built 成功后. 下一步,Run the application. 这时候,遇到问题:Run按钮灰色,失效. 点击Run旁边 Select Run/Debug Configuration按钮 选择 Edit Configuration,于是: 在model下拉框中选择app.如果下拉框中
-
使用Android studio编写一个小的jni程序
1.简单介绍一下NDK和JNI NDK:NDK是Native Development Kit的缩写,是Google提供的一套工具集,可以让你其他语言(C.C++或汇编)开发 Android的 JNI.NDK可以编译多平台的so,开发人员只需要简单修改 mk 文件说明需要的平台,不需要改动任何代码,NDK就可以帮你编译出所需的so库. JNI:JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) 2.打开Android
-
AndroidStudio 配置 AspectJ 环境实现AOP的方法
昨天看了一段android配置aspectj实现AOP的直播视频,就试着自己配置了一下,可能是因为我自己的AndroidStudio环境的问题,碰到了不少的坑(其实还是因为对gradle理解的不多),但总归是配置好了,就分享一下. 试了两种方式,不过项目下的build.gradle,没什么变化,直接看一下代码吧: build.gradle(项目下) buildscript { ext { //android appcompat支持库版本 androidSupportVersion = '26.1
-
Android Studio 下载视频到本地
最近在研究视频下载到本地的问题,像爱奇艺,腾讯视频,迅雷看看等等一些视频播放器,如果在一个播放器里面视频下载到一半用户退出App之后,再次登录从头开始,那么就太可悲了,所以在做视频音频类的项目时,要实现的一个功能就是断点续传,就是将用户下载的视频或者音频等以字节流的形式存入数据库,下次用户再次下载时,将继续上次数据库的接着下载,这样用户体验就会很好,也大大节省了成本. 好了废话不多说,开始今天的正题. 一.先上效果图 二.使用GreenDao我们需要导入依赖 1.以下在项目gradle依赖中添加
-
Android Studio配置内嵌JDK的方法
今天发现JDK环境变量没有配置好. 我没有专门去下载java,在下载Android Studio时,会自带内嵌的JDK. 打开File-OtherSettings-DefaultProjectStructure,可看到AS已自动勾选Use embedded JDK,而且是官方推荐的做法. 以下是配置环境变量的操作. java 1.8以后就无需CLASSPATH环境变量了. 我们只需配置JAVA_HOME和PATH即可. JAVA_HOME C:\AndroidStudio\jre (JDK安装目
-
Eclipse NDK迁移到Android Studio的方法示例
最近看一个NDK项目,因为源码使用Eclipse IDE写的,想把代码导入Android Studio使用,毕竟好用很多,使用AS导入后,第一个问题就是编码问题,项目之前竟然使用的是GBK编码.首先就是改变编码问题.我先在设置中将项目编码改为UTF-8,build结果显示一堆错误的乱码,在网上逛了一圈,找到解决方案. 编码 将AS右下角的UTF-8换成GBK. 跳出提示选择"reload",此时注释之类的乱码会显示正确. 右下角再选择UTF-8 跳出提示选择"convert&
-
android项目从Eclipse迁移到Android studio中常见问题解决方法
(1)将Eclipse项目导入到Android studio 中出现9-patch image问题解决方法: 在build.gradle里添加以下两句: aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false 用来关闭Android Studio的PNG合法性检查的,直接不让它检查. (2)Android Studio 错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface
-
Android Studio 一个工程打包多个不同包名的APK实例详解
公司最近有个特别的需求,同一套代码,稍做修改(如包名不一样,图标不一样,应用名不一样等),编译出几个不同的应用.刚好用AS重构完项目,在网上查阅了一些资料,终于搞定!!在这记录一下. AS主要是利用gradle来实现这个需求的,具体做法如下: 修改app的build.gradle文件 假设我们同一套代码编译2个app:app1和app2 android { ... productFlavors { // app1 app1 { // 设置applicationId(这里很重要,两个相同appli
-
详解如何在Android Studio中添加RecyclerView-v7支持包
一直知道RecyclerView可以代替ListView.GridView使用,听说功能很强大,但还没有去学习过.今天想学习,没想到还没开始便撞墙了.输入Recycler,只有这两个东西,没有提示RecyclerView,说明支持包中没有. 最后一番百度后,终于解决(真不敢想象没有网络的情况下,怎么开发.怎么解决问题). 1.打开SDK Manager,在Extras树下找到Android Support Library,下载好支持包.RecyclerView在v7-21版本就出来了.我这里不用
-
Android Studio 3.0 Gradle 配置变更
多渠道打包变更 flavorDimensions "default" productFlavors { xxxx { dimension "default" } } productFlavors.all { flavor -> flavor.manifestPlaceholders = [CHANNEL_VALUE: name] } 更改打包命名及路径 android.applicationVariants.all { variant -> if (va
-
Android Studio设置、改变字体和主题的方法
1.步骤:File >> settings >> Appearance & Behavior >>Appearance >> 来到修改界面 如下图所示:(Theme 主题修改 :Name 字体 :size 字号大小:其他的效果自己设置就可以看到,下图是其中的一种效果) 2.修改代码区域的字体,字号等设置 步骤:File >> settings >> Editor >>Colors & Fonts >&
-
在启动栏制作android studio启动图标
https://www.linuxidc.com/Linux/2017-08/146066.htm 首先在~/bin/android-studio文件夹下新建一个Studio.desktop文件,并用gedit打开,然后将以下的内容复制进去并改动. [Desktop Entry] Name=AndroidStudio Type=Application Icon=你的AndroidStudio解压文件夹的绝对路径/android-studio/bin/studio.png Exec=sh 你的An
-
Android Studio 引用外部依赖时报错的解决方法
Android Studio 在引用外部依赖时,发现一直无法引用外部依赖.刚开始以为是墙的问题,尝试修改Gradle配置,未解决问题. 最终发现原来是在Android Sudio安装优化配置时,将Gradle设置为了离线工作模式 解决方法: 只需打开File->Settings->Build,Execution,Deployment->Gradle->取消offline work勾选 总结 以上所述是小编给大家介绍的Android Studio报错Unable to resolve
-
Android Studio中导入module的方法(简单版)
1.把要导入成Mudle的项目修改成符合Library的格式 修改该项目中bulid.gradle文件中第一行代码 把 apply plugin: 'com.android.application' 修改为 apply plugin: 'com.android.library' 然后,修改AndroidManifiest.xml文件中配置信息,此处主要是把原来配置的项目Style等配置以及MainActivity配置删除,这样处理是为了防止重复.以下以一个我的Moudle文件的AndroidMa
随机推荐
- RxSwift学习教程之基础篇
- 渗透中用openrowset搞shell的方法
- 基于jQuery的message插件实现右下角弹出消息框
- Angular实现图片裁剪工具ngImgCrop实践
- return false,对阻止事件默认动作的一些测试代码
- java导出生成word的简单方法
- 使用DataGrid中扩展ItemRenderer和HeaderRenderer进行操作
- swift 可选型的使用详解
- 来自qq的javascript面试题
- PHP统计目录大小的自定义函数分享
- php实现的统计字数函数定义与使用示例
- php printf输出格式使用说明
- php读取qqwry.dat ip地址定位文件的类实例代码
- C语言中的malloc使用详解
- Windows下修改mysql的data文件夹存放位置的方法
- 修复ie8&chrome下window的resize事件多次执行
- Python中模块string.py详解
- jQuery操作 input type=checkbox的实现代码
- Java创建表格实例详解 原创
- 分析Node.js connect ECONNREFUSED错误