AndroidStudioidea 添加依赖赖

使用AndroidStudio时遇到的那些坑(四)
使用AndroidStudio时遇到的那些坑(四)
该文章主要用来记录在使用AS过程中遇到的一些坑和解决方法,希望帮助各位“战友”防止再次踏入相同的坑。后续会继续更新……AndroidStudio-app:DebugManifest问题:报错信息: Error:Execution failed for task ':app:processDebugManifest'.& Manifest merger failed with multiple errors, see logs错误原因:项目导入 依赖包出的问题,一般都是版本不统一导致的错误。报错截图信息解决方法:1.一般情况:(1)在Manifest.xml的application标签下添加tools:replace=&Android:icon, android:theme&(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools=&/tools&)(2) 在你的builde.gradle中把依赖包的版本和工程版本号更改一致。工程版本信息依赖库版本信息2.一般情况上述方法是可以解决这种报错信息的,我也曾屡试不爽,但是偶尔也会碰到奇葩的事情,当上述方法没起作用,而这个鬼错误就这两行报错信息,着实令人摸不清头脑,但是有个一个提示信息引起我们的注意“see logs”,然后我就开始百度怎么see logs。原来我们需要借助命令行,去读取他的堆栈报错信息,这里有比较详细的日志信息。(1)打开命令行,输入命令:“gradlewprocessDebugManifest--stacktrace”,其中,processDebugManifest是log里面提到的,这个命令是会了获取更多的log信息。命令行截图运行该命令之后,需要等一会,让它走完,由于信息比较多,我的截图仅仅截出重点需要的地方,这个地方告诉我,我的工程版本号小于我的一个依赖包的版本号,原来还是依赖包的版本号搞的鬼,但是我在工程使用的依赖是下面这样的,这让我怎么改,我就查了这个依赖包的情况,原来这个包支持最小的版本号确实是14,而我的工程支持最小版本号是11:compile 'com.mylhyl:acp:1.1.5'详细报错日志信息依赖包支持版本信息既然,依赖包改不了,那就只能更改自己工程支持最低版本号了,我把工程最低版本号全部改成14在运行就OK了。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 科技有温度,科技有态度。
作者最新文章Android Studio 导包和依赖
Project Structure.
1 library depency : 联网搜索的类库, 添加后自动从maven/jcenter 等库里下载相关类.
添加方式1: 在m文字的 library dependency 中 弹出的搜索框里搜索添加
添加方式2 在app的build gradle中compile dependy 中添加
2 Jar dependency jar包的类库依赖 在本地文件中 jar形式
3 Module dependency
在文件目录拷贝目录导入 或者 在File中 新建module
需要在setting gradle中 添加相关模块
include ':dBPullToRefresh'
include ':KevinMusicPlayer'
gradle不能用applicationId 只能在主工程中出现
android { compileSdkVersion 19 buildToolsVersion '25.0.0'
defaultConfig { minSdkVersion 14 targetSdkVersion 19 } buildTypes { release { minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'Android studio Github 开源项目依赖添加失败,求破? - 知乎11被浏览5088分享邀请回答jitpack.io
上的去么?如果上不去就尝试换一个好一点的梯子再试试。PS:你这字体,你这字号,要注意保护眼睛啊。而且你这单引号怎么后面有那么长的空格(对不起强迫症犯了)14 条评论分享收藏感谢收起0添加评论分享收藏感谢收起查看更多回答4918人阅读
android笔记(5)
纯粹按照个人理解进行总结的,非官方提供
前置知识点:AndroidStudio中项目组织方式,最高层为Project(虽然结构层次和Eclipse里的workplace有些相似,但还是有很大区别的),下面可以包括很多module,每个module可完全独立作为一个项目,运行处一个APK。(这在结构层次上又相当于eclipse里的project)
经过实践总结,以gradle为构建工具的AndroidStudio在依赖方面可以分为
1、库依赖(library)
2、模块依赖(module)
简单区分,模块就是源代码模块,库依赖就打包好的jar、aar文件
以上两种每种又可以分为内部和外部。
一种一种来,先说库依赖
这个应该是从eclipse那边延续过来的,算是对eclipse的兼容,指位于/Project/module/libs/下的jar、aar文件
使用方法:这种依赖比较简单,直接放在指定目录就好了,在模块配置/Project/module/build.gradle中的dependencies标签下加入
compile fileTree(include: ['*.jar'], dir: 'libs')
compile(name: 'FileSelector-release', ext: 'aar')
androidstudio会自动加载指定目录下的依赖库
这个是gradle的标准依赖方式,导入、管理、升级等都非常便捷
使用方法:在项目配置文件(顶级gradle文件/Project/build.gradle)中声明中心仓库,自动生成的项目中,AS会默认配置好,默认中心仓库为jcenter,也可以使用maven。
在module配置文件里(/Project/module/build.gradle)的dependencies标签下有类似
compile 'com.google.code.gson:gson:2.4'
AS会从中心仓库下载相应版本的库文件,实际文件一般在/用户文件夹/.gradle\caches\modules-2\files-2.1
并在工程结构的ExternalLibraries中列出,这也就是为什么叫这种为“外部库”
这里的引入配置代码需要库的提供方提供,一般gitbug的项目如果同时支持gradle构建方式引用,会在readme里面说明,如果没在github上,可以去中央仓库去搜,中央仓库的位置是可以从配置文件里追溯源码追到的。jcenter:
C、内部模块
前面说了,一个Project下面可以包括很多Module,这些module可以是相互完全独立的,也可以是被依赖的。
使用方法:
如果希望一个module被一个或者多个其他的Module依赖,那么,需要在该module的build.gradle文件把当前模块声明为Library
apply plugin: 'com.android.application'
要用apply plugin: 'com.android.library'好吧,这个又类似于eclipse里面设置某个eclipse工程“Is Library”在顶层工程目录下的settings.gradle中include模块名include ':app',':module-name'D、外部模块(这种方式,是我自己YY出来,经过验证可行的)前面说,AndroidStudio组织结构顶层是一个Project,如果这么说,理解起来,其实在同一个项目里,不应该有与project同级的模块存在,但实际并不绝对例如工程A、B分别各自包含两个module,其中一个模块另一个是library模块,也即上面提到的C内部模块。此时,A工程是可以依赖B工程中的library模块的。使用方法:和内部模块类似,在settings.gradle中include 后面加上模块名,这里的模块名需要自己定义include ':app', ':module-name'
include ':external-module-name'
project(':external-module-name').projectDir = new File(rootDir, '../../Example/sdkexample')意思比较明显,声明一个模块,指定一下这个模块的地址。把这个include到工程中。比较讲究的是那个地址的写法,要切记不能写错了,写错了找不到在AS的工程结构中,这种外部模块的依赖,是不能组织在工程内部的,实际上会合工程顶层,以及ExternalLibraries处于同一级,如图,那个sdkexample是另一个工程中的内部模块最后说一下,为什么会有这篇文章,我也不想搞这么复杂啊,又是这样依赖那样依赖的,其实都是项目需要被逼的了,要是所有依赖的代码都可以用第二种方式使用外部依赖那世界将会更加美好呢。尤其是D这种外部模块依赖,很奇葩的,大家要是仔细理解D的这种方式其实应该不难想到,这是为了解决联合开发的问题而被逼出来的想法。适用场景如下,双方协作开发,一方依赖另一方的代码,被依赖方代码也正在开发过程中,随时会变化,关键双方不是基于同一个git仓库开发,各自有各自的。自然本地目录也不是同一个了这样形式的依赖,可以使双方各自独立开发,依赖方在本地clone两个仓库,一个依赖另一个,各自还可以独立开发,依赖方只需要在必要的时候pull代码就OK了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:15490次
排名:千里之外
(1)(2)(1)(1)(1)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 vs添加外部依赖项 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信