Android build.grade中的变量名称错误无效

时间:2016-11-21 02:40:50

标签: android

我的代码:

  

//顶级构建文件,您可以在其中添加配置选项   所有子项目/模块都是通用的。

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    } }

allprojects {
    repositories {
        jcenter()
    } }

task clean(type: Delete) {
    delete rootProject.buildDir }

这里是错误日志:

  

错误:(1,0)原因:启动失败:       构建文件'D:\ Doctor \ build.gradle':1:变量名无效。必须以字母开头,但是:       。在[1:1] @第1行,第1列。          //顶级构建文件,您可以在其中添加所有子项目/模块共有的配置选项。          ^

1 error

<a href="openFile:D:\Doctor\build.gradle">Open File</a>

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并找到了解决方法来修复它。但是,我不知道问题是如何发生的。

问题是build.gradle文件已损坏。我做了一个文件的十六进制转储,这是我发现的:

$ hexdump -C build.gradle | more
00000000  ef bb bf 2f 2f 20 54 6f  70 2d 6c 65 76 65 6c 20  |...// Top-level |
00000010  62 75 69 6c 64 20 66 69  6c 65 20 77 68 65 72 65  |build file where|
00000020  20 79 6f 75 20 63 61 6e  20 61 64 64 20 63 6f 6e  | you can add con|
00000030  66 69 67 75 72 61 74 69  6f 6e 20 6f 70 74 69 6f  |figuration optio|
00000040  6e 73 20 63 6f 6d 6d 6f  6e 20 74 6f 20 61 6c 6c  |ns common to all|
00000050  20 73 75 62 2d 70 72 6f  6a 65 63 74 73 2f 6d 6f  | sub-projects/mo|
00000060  64 75 6c 65 73 2e 0d 0a  0d 0a 62 75 69 6c 64 73  |dules.....builds|
00000070  63 72 69 70 74 20 7b 0d  0a 0d 0a 20 20 20 20 72  |cript {....    r|
00000080  65 70 6f 73 69 74 6f 72  69 65 73 20 7b 0d 0a 20  |epositories {.. |

请注意,文件以十六进制值ef bb bf开头。这些字符通常不可显示,因此您不知道它们在您的文件中。那些不好的角色是造成这个问题的原因。你需要摆脱它们。我不知道遇到这个问题的每个人是否会有相同的值,但build.grade应该是一个文本文件,那些不是可显示的文本字符。我注意到即使你删除了第一行,那些坏字符仍然存在于文件中,并且你会遇到不同的错误。在我的情况下,它说它找不到&#34; buildscript()&#34;。我所做的纠正问题的方法是进入编辑器,选择文件末尾的第一行并复制内容。然后我打开了一个新的编辑器并粘贴了内容并保存了文件。我将它保存到build2.gradle。然后我删除了build.gradle,然后将build2.gradle重命名为build.gradle。我做了另一个hexdump,发现那些坏人物已经消失了。然后我就能同步我的项目了。

我不知道那些不好的角色是如何进入文件的,但这里或多或少是我所做的:我将一个项目的全部内容复制到一个新的项目位置并在同步过程中我正在讨论这个问题。我也从android 8.0改为8.1,从4.2改为4.4。 Android Studio检测到一些问题,并要求我关闭项目并重新打开它,所以我这样做了。我出于某种原因怀疑文件损坏时的情况,但我不确定。