Gradle常见错误解决

来源:互联网 发布:sql case when else 编辑:程序博客网 时间:2024/05/17 04:04

gradle使用文档

https://docs.gradle.org/current/userguide/userguide_single.html#sec:accessing_the_web_via_a_proxy

一.As项目默认新建的结构

1.一般主要查看分成android和project

这是android结构,查看主要的目录(gradle,不过一般未成功运行的项目显示不完整)
这里写图片描述

这是project结构,查看全部文件,方便在错误项目里面查看

这里写图片描述

2.关于新建项目里面gradle的解释
先看如下图
这里写图片描述

由上图看到一个新建的项目可以分成三个gradle,app–project–settings;
(1) setting:include ‘:app’,这代表这个project所包含的所有依赖,决定你的包含modlle(application和libaray),如我们新建的只有app;
(2) project:就是上图GradleDemo.gradle,这个里面是整个project的编译环境as的版本。
(3) app:这是一个moddle(类型为application因为apply plugin: ‘com.android.application’如果改成apply plugin: ‘com.android.library’那么你当前的项目就是个依赖库)
一般情况下是上述的结构,这里的project.gradle有些项目可能没有,不要慌,看他app.gradle是否有project.gradle内容。

当一个项目开始导入前就要按照正常新建项目分析结构。

———————————————————————————————————————————————-

二.解决错误篇

1.基础错误
1.1
Error:Minimum supported Gradle version is 2.14.1. Current version is 2.4. If using the gradle wrapper, try editing the distributionUrl in F:\Android\open\GradleDemo\gradle\wrapper\gradle-wrapper.properties to gradle-2.14.1-all.zip
Fix Gradle wrapper and re-import project
Gradle settings

fixed:这个错代表gradle version版本和astools版本不一致,可以直接根据它提示去fix gradle..即可,如果不行就打开上图界面手动修改版本.

1.2
Error:Failed to find target with hash string ‘android-28’ in: F:\Android\SDK\sdk
Install missing platform(s) and sync project

这里写图片描述

fixed:这个错代表每个人sdk版本的环境都说不一样的,所以在打卡别人的项目很容易出现sdk环境不一致,此时ide就会提示安装相对应的版本,但是我现在写得是28,根本不可能有,所以建议别人的项目自己在开打的时候换成自己当前sdk环境,修改对应的gradle。

1.3
Error:java.lang.RuntimeException: Some file crunching failed, see logs for details
Error:Execution failed for task ‘:app:mergeDebugResources’.

Error: java.lang.RuntimeException: Some file crunching failed, see logs for details

这里写图片描述

fixed:这种错误是由于某些资源文件错误造成的(一般是图片),两种方式一种是知道什么图片去替换(不建议,只有第二中方法解决不了,才尝试debug解决错误文件);
第二中方法:在app moddle 的gradle里面加如下的两段代码。
android {
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
lintOptions{
//打包的时候容错检查
checkReleaseBuilds false
abortOnError false
}
};

1.4
https://www.zhihu.com/question/36645628
https://developer.android.com/studio/build/manifest-merge.html

Error:Execution failed for task ‘:XXXX:processDebugManifest’. > Manifest merger failed with multiple

情况:
1,引入的三方包存在相同的label icon 等名字
解决:清单文件用tools
application标签
tools:replace = “icon,label,theme”
2,sdk版本冲突
要么修改源码要么覆盖让sdk版本一样,修改清单文件。

com.allenliu.circlemenuview 是冲突的那个包的报名

0 0