Android: R.java: error expected

2019-04-26 18:17发布

问题:

I am a beginner to android development, and was following the training guide at developer.android.com (Better tutorials would be greatly appreciated as well). I was adding the action bar when I started getting this error.

Executing tasks: [:app:assembleDebug]

Configuration on demand is an incubating feature.
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:app:preBuild
:app:compileDebugNdk UP-TO-DATE
:app:preDebugBuild
:app:checkDebugManifest
:app:preReleaseBuild
:app:prepareComAndroidSupportSupportV132000Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42000Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesWearable5077Library UP-TO-DATE
:app:prepareComGoogleAndroidSupportWearable100Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:compileDebugJava
C:\Users\Brian\AndroidStudioProjects\MyAndroidWear\app\build\generated\source\r\debug\com\example\brian\myandroidwear\R.java:400: error: <identifier> expected
    public static final int =action_settings=0x7f050018;
                           ^
1 error

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 12.271 secs

It also says

error:  <identifier> expected

The main problem I am having is that R.java is generated by android studio and I have never touched it so I am very confused.

The actual R.java code is here.

 public static final class id {
    public static final int =action_settings=0x7f050018;
    public static final int action_error=0x7f05000b;
    public static final int action_search=0x7f050017;
    public static final int action_settings=0x7f050016;
    public static final int action_success=0x7f05000d;
    public static final int all=0x7f050004;
    public static final int animation=0x7f05000e;
    public static final int bottom=0x7f050003;
    public static final int button_send=0x7f050014;
    public static final int dismiss_overlay_button=0x7f050011;
    public static final int dismiss_overlay_explain=0x7f050010;
    public static final int edit_message=0x7f050013;
    public static final int error_message=0x7f05000c;
    public static final int hybrid=0x7f050009;
    public static final int left=0x7f050000;
    public static final int message=0x7f05000f;
    public static final int none=0x7f050005;
    public static final int normal=0x7f050006;
    public static final int right=0x7f050002;
    public static final int satellite=0x7f050007;
    public static final int terrain=0x7f050008;
    public static final int text=0x7f050012;
    public static final int title=0x7f050015;
    public static final int top=0x7f050001;
    public static final int watch_view_stub=0x7f05000a;
}

The error is thrown on the first line of the function at the =action_settings part.

Any help at all would be greatly appreciated. Also if there is anything else you need to see please let me know. I'm still getting used to android and android studio so I am still not sure where everything is to help debug.

回答1:

It sounds like you have accidentally defined a menu item in your XML with an id of =action_setting.

For example:

<menu>
    <item 
        android:id="@+id/=action_settings" />
</menu>

Remove the = from your menu XML and you should be good to go.



回答2:

I had the same problem, because I defined a string without name in my resources. like:

<string name="">some text</string>


回答3:

check your resource file name should be following file naming rule. Example:

Invalid file name: 50x60.png Valid file name: my_pic.png



回答4:

I had similar problem. Step 1. Delete/edit files which caused error, in your case: "public static final int =action_settings=0x7f050018;"

Step 2. Build->Clear. Since R.java cant be modified and automatically generated, dont edit anything in R.java. Good luck! :)