R.java文件未自动生成

时间:2014-03-31 05:40:38

标签: java android

我真的需要帮助。我是android编程的初学者,我想做一个简单的数独游戏。但我无法继续进一步解决这个问题。我的R.java文件没有被生成。这是代码 -

package org.example.sudoku;



import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class Sudokugame extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sudokugame);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.sudokugame, menu);
        return true;
    }

}

它说R无法解析为变量。 gen文件夹中缺少R.java文件。 P.S - 我的文件都没有以res文件夹中的大写字母开头,所以不是错误。

这是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/main_title"/>
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/continue_label"/>
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/new_game_label"/>
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/about_label"/>
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/exit_label"/>
    </LinearLayout>

这是我的strings.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Sudoku</string>
    <string name="main_title">Android Sudoku</string>
    <string name="continue_label">Continue</string>
    <string name="new_game_label">New Game</string>
    <string name="about_label">About</string>
    <string name="exit_label">Exit</string>

</resources>

这是我的androidmanifest.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.example.sudoku"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="1"
        android:targetSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="org.example.sudoku.Sudokugame"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

3 个答案:

答案 0 :(得分:0)

未生成R.java通常是由于资源或清单XML文件之一出现问题。查看问题或控制台窗口以检查/

出现的另一个问题是ADT插件有时会插入无关的“import R.java ...”语句,尤其是在对包名称进行任何重命名或其他操作之后。通常不应该有任何类型的导入,可以删除它们。

在解决任何错误后,甚至可能作为额外的第一步,您将需要清理并重建您的项目.z

有时,错误就像在其中一个资源文件名中使用无效字符一样简单。只有字符a-z,0-9,下划线和句点有效。不允许使用大写字母和短划线。

编辑:

另一种可能性是过时的ADT。每当SDK更新时,ADT都会过时。以下是更新ADT的方法:

在Eclipse中,转到帮助&gt;检查更新。然后在名称中查找带有Android或ADT的项目。选择所有这些并按照向导进行操作。

如果您收到“未找到更新”。或者在列表中看不到任何相关项目,那么您将不得不进行安装而不是更新。 This page描述了安装过程,但简短版本是执行以下操作。转到帮助&gt;安装新软件...,然后单击添加...按钮。

在名称字段中选择并输入名称(例如“ADT”),然后为“位置”输入“https://dl-ssl.google.com/android/eclipse/”。单击确定,然后在结果列表中至少选择“开发人员工具”。然后单击Finish并按照向导进行操作。

您必须接受许可协议,并为确认警告说好。

答案 1 :(得分:0)

enter image description here

清理并遵循Build Project它肯定会在gen foloder中生成R.java文件。如果你在布局文件(.xml)中有一些错误它将不会生成,所以请确保检查整个项目并纠正.xml和java文件中的错误。

谢谢。

答案 2 :(得分:-2)

尝试更改您的清单文件。

 <uses-sdk
        android:minSdkVersion="1"
        android:targetSdkVersion="8" />

 <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

为minsdkversion创建一个活动=&#34; 1&#34;它会工作。但是,如果您尝试为该项目创建另一个活动,您将收到错误。所以要确保你必须至少设置minSdkVersion =&#34; 7&#34;那就行了。