我使用 File->New->Android Project 在 Eclipse 中创建了一个 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);
}
}
线程“主”java.lang.NoClassDefFoundError 中的异常:原因:java.lang.ClassNotFoundException:在 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>