Search code examples
javaandroidbuildcorruption

Android Studio build file R broken


I am working on an android app which has worked and been tested many times. Today, however, in attempting to run the application for further testing, I have encountered the following error message:

C:\Users\1000\AndroidStudioProjects\WarofSol\app\build\generated\source\r\debug\com\blacktentdigital\warofsol\R.java
Error:(1251, 32) error: identifier expected
Error:(1251, 34) error: illegal start of type
Error:(1251, 35) error: identifier expected
Error:Execution failed for task ':app:compileDebugJava'.
Compilation failed; see the compiler error output for details.

>Information:BUILD FAILED

The problem is in the R.java file (as listed above). It is a generated file, so I've never touched it.

The offending line is this:

public static final class drawable {
    public static final int 3=0x7f020000;

Hover over the offending line gives the following warning: "Identifier expected | Unexpected token"

Comparisons to other R files reveal that the "3" is not supposed to be a 3, and is evidently corrupted.

Attempts to replace the line or file with older backed-up versions have failed to produce any result because (evidently) the file is regenerating the wrong way each time I attempt the build, and I have no idea what might cause this. As I say, the problem sprang up suddenly without any provocation of which I am aware.

I've also attempted closing the program and restarting the computer to no avail.

Any ideas as to what might cause this and how it might be fixed?


Solution

  • I did get the Same error when i have defined a String in xml file like this.

    <string name="3">Settings</string>
    

    Error:

    Error:(1426, 32) error: <identifier> expected
    Error:(1426, 34) error: illegal start of type
    Error:(1426, 35) error: <identifier> expected
    Error:Execution failed for task ':app:compileDebugJava'.
    > Compilation failed; see the compiler error output for details.
    Information:BUILD FAILED
    

    Solution: Resource name must begin with character. So i have just change String like <string name="S3">Settings</string> and it worked.

    So just check if you have any resource name 3 in all your resource file(string.xml, style.xml, attrs.xml) and folder(drawable, layout).