21

嗨,我对 Android 编程完全陌生,我问的问题可能非常简单,但我不知道如何让它工作,所以请多多包涵。

我从Android 开发者网站安装了 android-sdk 和相关工具。我按照他们的说明创建了一个 HelloWorld 应用程序,但我遇到了一些我不明白的错误。

文件 MainActivity.java 是一个自动生成的文件,我在这些地方不断收到这个文件中的错误:

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main); // error in activity_main
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_main, menu); // error in activity_main
   return true;
 }

因此,我尝试查看生成的 layout.class 类文件,发现那里没有名为 activity_main 的变量。

谁能建议在这里做什么?任何帮助将不胜感激。

目录结构显示我确实有 AndroidManifest.xml。

当我尝试运行该应用程序时,我收到此特定错误:

     AndroidManifest.xml file missing!
     Unknown Android Packaging Problem

这些是我在尝试使其运行时遇到的一些错误:

        10-10 23:31:11.305: E/Trace(946): error opening trace file: No such file or directory (2)
        10-10 23:31:11.955: E/AndroidRuntime(946): FATAL EXCEPTION: main
        10-10 23:31:11.955: E/AndroidRuntime(946): android.content.res.Resources$NotFoundException: Resource ID #0x2
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.content.res.Resources.getValue(Resources.java:1013)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2098)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.content.res.Resources.getLayout(Resources.java:852)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.view.MenuInflater.inflate(MenuInflater.java:107)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at com.example.myfirstapp.MainActivity.onCreateOptionsMenu(MainActivity.java:18)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.app.Activity.onCreatePanelMenu(Activity.java:2476)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:393)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:747)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:2913)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.os.Handler.handleCallback(Handler.java:615)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.os.Handler.dispatchMessage(Handler.java:92)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.os.Looper.loop(Looper.java:137)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at android.app.ActivityThread.main(ActivityThread.java:4745)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at java.lang.reflect.Method.invokeNative(Native Method)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at java.lang.reflect.Method.invoke(Method.java:511)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
        10-10 23:31:11.955: E/AndroidRuntime(946):  at dalvik.system.NativeStart.main(Native Method)
4

6 回答 6

55

只需构建您的项目或将其清理为下面提到的“Clayton”。

项目 > 全部构建

项目 > 清洁

我相信这是因为您的 gen 文件夹中没有 R.java 文件。构建您的项目将R.java在您的gen文件夹中生成文件,并且错误应该会消失。

发生这种情况是因为您使用以下代码引用您的布局文件

setContentView(R.layout.activity_main); 

对的引用在需要通过构建项目生成的文件中R.layout.activity_main声明。R.java

于 2012-10-10T17:34:53.573 回答
38

项目->清洁为我工作

于 2013-03-29T19:49:09.420 回答
2

-首先请确保您已将 Eclipse 与 Android 正确同步。

-您是否在系统环境路径tools中添加了和platform-tools文件夹路径。

-我希望您正在创建一个 Android 项目而不是 Java。请参阅Eclipse 中项目资源管理器中的项目文件夹将具有AAndroid 和JJava 的标志。

于 2012-10-10T17:37:07.973 回答
1

什么对我有用:

  • 取消选中项目>自动构建
  • 关闭项目
  • 打开项目
  • 清洁项目
  • 手动项目>构建项目然后它工作。

最终我检查了自动构建。

我不知道“自动构建”是什么,当我导出我的 Google 玩游戏时(尤其是当我使用外部库,例如 AndEngine)时,它也给我带来了一些问题。

为了解决它,我做了类似的事情来解决问题(取消选中它,清理,手动构建)

于 2014-09-05T09:11:20.190 回答
0

我有一个类似的问题。但是是由eclipse崩溃引起的。之后我是 AndroidManifest.xml 的 2 个交换文件和相同的错误:“AndroidManifest.xml 文件丢失!”。

所以,我删除了交换文件(.swo,.swp)

:-)

于 2013-04-16T09:34:01.990 回答
0

这是构建问题。

转到 Eclipse 中的菜单,Project>clean 然后 Project>Build All

清洁指令将删除所有构建配置并修复所有构建问题。

于 2014-07-30T16:10:03.120 回答