Gradle build:找不到文件错误

时间:2017-12-27 19:18:30

标签: android android-studio gradle android-gradle build.gradle

当我尝试使用Gradle构建项目时,我遇到了这个错误:

${path_to_project}\teacher\build\intermediates\incremental\mergeDebugAndroidTestResources\merged.dir\values-w270dp-h560dp-v13\values-w270dp-h560dp-v13.xml: error: file not found.

我真的很困惑,因为我打开了文件,看起来它来自我使用的家属com.wdullaer:materialdatetimepicker:3.4.1

这是xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="mdtp_selected_calendar_layout_height">230dp</dimen>
    <dimen name="mdtp_selected_date_day_size">100dp</dimen>
    <dimen name="mdtp_selected_date_height">190dp</dimen>
    <dimen name="mdtp_selected_date_month_size">30dp</dimen>
    <dimen name="mdtp_selected_date_year_size">30dp</dimen>
</resources>

我之前使用之前的插件遇到过类似的错误,但缺少资源来自 appcompat-v7 库,因为我与appcompat-v7库版本不匹配我的 compileSdkVersion 。我所要做的就是将我的appcompat-v7和compileSdkVersion更新为最新版本,并且所有版本都已设置完毕。

但是这个实例似乎来自第三方库,而且我使用的是最新版本的库。我不知道如何解决这个问题

6 个答案:

答案 0 :(得分:2)

两天前我也遇到过类似的问题,这是我的解决方案。

替换您的依赖

compile 'com.wdullaer:materialdatetimepicker:3.4.1'

compile ('com.wdullaer:materialdatetimepicker:3.4.1') {
    exclude group: 'com.android.support'
}

这对我有用!

答案 1 :(得分:2)

我测试了对另一个项目的库依赖,并且它构建得很顺利。此外,您提供的文件采用有效的XML格式。因此,请确保您拥有最新的Android构建工具和库版本,以确保不会在风中投石头

dependencies {
    compile 'com.wdullaer:materialdatetimepicker:3.5.0'
}

来自MaterialDateTimePicker/gradle.properties

VERSION_NAME=3.5.0
...
ANDROID_BUILD_TOOLS_VERSION=27.0.2

现在问题仍然存在,您可以在项目目录中运行(在Unix之前添加./

gradlew clean assemble

看看,如果它在干净的基础上正确构建而没有任何剩余的工件。作为最后的手段,鉴于它仍然没有,你可以使用它的堆栈跟踪在GitHub's MaterialDateTimePicker issues报告它作为一个问题。

答案 2 :(得分:1)

values-w270dp-h560dp

dimens.xml应该是,您可以手动添加此文件:

<resources
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <dimen name="mdtp_selected_calendar_layout_height">230dp</dimen>
    <dimen name="mdtp_selected_date_height">190dp</dimen>
    <dimen name="mdtp_selected_date_year_size">30dp</dimen>
    <dimen name="mdtp_selected_date_day_size">100dp</dimen>
    <dimen name="mdtp_selected_date_month_size">30dp</dimen>
</resources>

编辑:刚查过库,好像当前版本是

dependencies {
  compile 'com.wdullaer:materialdatetimepicker:3.5.0'
}

答案 3 :(得分:1)

检查您的目标并编译sdk版本

  

compileSdkVersion 23       buildToolsVersion '25 .0.0'

defaultConfig {
    applicationId "com.onsource"
    minSdkVersion 8
    targetSdkVersion 23

检查您的SDK并检查gradle版本,例如2.3.3如果仍有问题提供您的SDK版本信息

答案 4 :(得分:0)

您可以将以下代码放在应用程序的主build.gradle文件和同步项目中。

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://maven.google.com'  }

        google()
    }
}

答案 5 :(得分:0)

当项目名称很长时,我收到了这些错误,并且我正在保存项目的位置添加到它。这显然导致一些文件丢失。将项目移动到另一个位置以便文件名不超过系统限制解决了我的错误。