【发布时间】: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>
【问题讨论】: