美文网首页
Eclipse 中丢失 R 文件

Eclipse 中丢失 R 文件

作者: jackLee | 来源:发表于2016-02-29 13:32 被阅读201次

    问题描述:

    • 在对Eclipse下的Android项目进行功能添加的时候,我使用了Material Design库在Login.xml文件中添加了一个CheckBox控件。
      代码如下(直接copy的教程代码)
      <com.gc.materialdesign.views.CheckBox
      android:id="@+id/acconut_checkBox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:background="#1E88E5"
      materialdesign:check="true" />

    然后出现了如下问题:

    • Android 项目丢失R文件,重新clean ,build和重启Eclipse仍不能生成R文件

    错误提示

    • The following classes could not be instantiated:- com.gc.materialdesign.views.CheckBox
    • 出现了unbound prefix这个提示

    在StackoverFlow上找到了如下的答案:

    ** Solution **

    • Make sure that anything the R. links to is not broken. Fix all errors in your XML files. If anything in the ADKs are broken, R will not regenerate.
    • If you somehow hit something and created import android.R in your activity, remove it.
    • Run Project -> Clean. This will delete and regenerate R and BuildConfig.
    • Make sure Project -> Build Automatically is ticked. If not, build it manually via Menu -> Project -> Build Project.
    • Wait a few seconds for the errors to disappear.
    • If it doesn't work, delete everything inside the /gen/ folder
    • If it still doesn't work, try right-clicking your project -> Android Tools -> Fix Project Properties.
    • Check your *.properties files (in the root folder of your app folder) and make sure that the links in there are not broken.
    • Right-click your project > properties > Android. Look at the Project Build Target and Library sections on the right side of the page. Your Build Target should match the target in your AndroidManifest.xml. So if it's set to target 17 in AndroidManifest, make sure that the Target Name is Android 4.2. If your Library has an X under the reference, remove and re-add the library until there's a green tick. This might happen if you've moved a few files and folders around.

    What to do if R doesn't regenerate

    This usually happens when you have a broken XML file.

    • Check errors inside your XML files, mainly within the /res/folder
    • Common places are /layout/and /values/, especially if you've changed one of them recently
    • Check AndroidManifest.xml. I find that often I change a string and forget to change the string name from AndroidManifest.xml.
    • Check that Android SDK Build-toolsis installed. Window -> Android SDK Manager -> Tools -> Android SDK Build-tools
    • Make sure when you update the Android SDK Tools, you also update the Android SDK Platform-tools and Android ADK Build-tools. Build fails silently if they don't match.
    • If you can't find the issue, right click /gen/ -> Restore from local history... -> tick R.java -> click Restore. Even if it doesn't solve the problem, it will clear out the extra errors to make the problem easier to find.

    在参考了以上答案,我发现是xml文件出现了错误,现在问题转化为如何解决XML文件中的错误,即如何使用Material Design中的控件:

    最终该问题得以解决:

    • 在 Login.xml文件中添加了一个最外层的命名控件
    • xml文件中的错误得以解决
    • 然后运行project,生成R文件再也没有小红叉了

    相关文章

      网友评论

          本文标题:Eclipse 中丢失 R 文件

          本文链接:https://www.haomeiwen.com/subject/jcsgkttx.html