一个Android项目的Gradle汇编失败,找不到R.txt

时间:2014-02-11 04:41:58

标签: android gradle

抱歉我的英语不好。我正在尝试使用Android Studio将项目迁移到Gradle,但目前在processDebugResources期间构建失败。

错误信息:

  

任务执行失败':app:processAdultDebugResources'。   java.io.FileNotFoundException:C:\ Projects \ YYM \ app \ build \ symbols \ adult \ debug \ R.txt(系统找不到指定的文件。)(中文意思是“系统找不到文件”)

此外,我发现在项目的build路径中,有一个R.java文件位于一条奇怪的路径下:build/source/r/debug/--output-text-symbols

以下是我build.gradle的一部分:

apply plugin: 'android'
android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
        versionCode 78
        versionName "1.7.72"
        ndk {
            abiFilters "armeabi"
        }
    }
    productFlavors {
        weightloss {
            packageName "com.yesudoo.yymweightloss"
        }
        adult {
            packageName "com.yesudoo.yymadult"
        }
    }
    buildTypes {
        debug {
            packageNameSuffix ".dev"
            versionNameSuffix "-dev"
        }
    }
    lintOptions {
        abortOnError false
    }
}

我是Gradle的新手,并提前感谢有关如何解决此问题的任何指示。

4 个答案:

答案 0 :(得分:29)

所以我解决这个问题的方式是:

在我的 androidTest 文件夹中,我的测试文件包含 java 文件夹。但gradle要求您在测试中包含一些资源,以便生成 R.txt 文件。所以我所做的是在 androidTest 中创建了一个 res 文件夹,并添加了一个带有一个字符串资源的 values / strings.xml 文件夹。

这允许我的测试构建并运行!

答案 1 :(得分:0)

我遇到了同样的问题,从我在我的资产目录中添加第二个子子文件夹时开始摸索。删除文件夹(基本上撤消我所做的导致问题)没有帮助,这表明它可能是缓存的问题。接受的答案可能有效,如果通过更改清单文件,您触发Android Studio使其缓存无效(显然这不仅仅是干净和重建,因为我多次尝试过)。

尝试简单:转到文件 - >使缓存无效并重新启动。

答案 2 :(得分:0)

这对我有用,也许对某人有帮助

build.gradle

classpath 'com.android.tools.build:gradle:2.3.2'

gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

立即同步。

答案 3 :(得分:-3)

解决。原因是AndroidManifest.xml文件有问题,但gradle(或lint?)没有弄明白。因此无法生成R.txt文件。一旦我修改了AndroidManifest.xml文件,问题就消失了。 对不起,我的英语很差。