安卓:R.java:错误<标识符>期望

7

我是一名Android开发的初学者,正在遵循developer.android.com上的培训指南(同时也非常需要更好的教程)。在添加操作栏时,我开始遇到以下错误。

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

它还说:
error:  <identifier> expected

我的主要问题是R.java是由Android Studio生成的,我从未接触过它,所以非常困惑。
这里是实际的R.java代码。
 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;
}

这个错误是在函数的第一行=action_settings部分抛出的。

任何帮助都将不胜感激。如果您需要查看其他内容,请告诉我。我还在逐渐熟悉android和android studio,所以我还不确定如何找到所有东西来调试。


错字:在 action_settings 前面删除 =。另外,那个变量似乎是重复的。 - Reimeus
删除“public static final int = action_settings = 0x7f050018;”,应该改为“public static final int action_settings = 0x7f050018;”。 - Sagar Pilkhwal
6个回答

12

看起来你在XML中意外地定义了一个id为=action_setting的菜单项。

例如:

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

从您的菜单XML中删除=,然后您就可以继续了。


谢谢你,如果没有你的帮助,我会一直卡在这里。 :) - Vihaan Verma

5

我曾经也遇到了同样的问题,因为我在资源文件中定义了一个没有名称的字符串。例如:

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

1
检查您的资源文件名是否遵循文件命名规则。 例如: 无效文件名:50x60.png 有效文件名:my_pic.png

1
我遇到了相同的错误信息。在我的情况下,似乎是由于包名称中包含'.int'引起的。
将包名称中的'.int'替换为:
com.xxxx.int.yyyy

"

使用'.intg'为我解决了错误:

"
com.xxxx.intg.yyyy

0
Android: R.java: 预期的<标识符>错误 可能是由于文件损坏或无效的名称引起的,例如:在源代码中仅将数字添加到文件名中,如1.mp3,可能会被解读为整数.. 解决方案:
1. 删除已上传的文件。
2. 删除构建文件夹或进行清理/构建。
3. 进行构建。
4. 使用有效的名称上传有效的文件。
祝你好运。

0
我有类似的问题。 步骤1. 删除/编辑导致错误的文件,在你的情况下是:"public static final int =action_settings=0x7f050018;" 步骤2. Build->清除。由于无法修改并且会自动生成R.java,请不要编辑R.java中的任何内容。 祝你好运! :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接