【问题标题】:Why is my Android project looking for the "main" function?为什么我的 Android 项目要寻找“主要”功能?
【发布时间】:2012-04-30 12:30:24
【问题描述】:

我在 Eclipse 中使用 File->New->Android Project 创建了一个 Android 项目。我创建了一个相同 API 版本 10 (2.3.3) 的 Android 虚拟设备。我在包 foo.foo.foo 中创建了一个活动 Asdf

Android 项目不应该有一个 main 函数,那么 Java 为什么要找一个呢?

package foo.foo.foo;

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

public class Asdf extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

线程“main”中的异常 java.lang.NoClassDefFoundError: Caused by: java.lang.ClassNotFoundException: at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) 找不到 主类:。程序将退出。

编辑:活动在清单中声明,也是由eclipse自动生成的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="foo.foo.foo"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Asdf"
                  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>

【问题讨论】:

    标签: java android eclipse


    【解决方案1】:

    “main”是应用创建时默认创建的布局文件。您可能已经从布局文件夹中删除了该布局,或者可能在布局文件夹中更改了它的名称。如果您设计了任何布局,请在此处参考。而 main 不是complusary。

    您是否还在清单文件中声明了您的活动?

    setContentView(R.layout.main);意味着它正在寻找布局文件而不是功能

    【讨论】:

    • 我自己没有创建布局,但自动生成的 main.xml 存在。清单包含 Activity 的条目。
    • 是的,默认情况下,Android 在创建应用程序时会生成一个示例 xml 文件。你可以修改它。
    猜你喜欢
    • 2012-10-05
    • 2023-03-20
    • 2011-11-03
    • 2014-04-23
    • 1970-01-01
    • 2015-05-08
    • 2017-03-04
    • 2016-03-02
    • 2012-08-09
    相关资源
    最近更新 更多