2012-04-19 37 views
1

我使用File-> New-> Android Project在Eclipse中創建了一個Android項目。我創建了一個具有相同API版本10(2.3.3)的Android虛擬設備。我在包foo.foo.foo中創建了一個活動Asdf爲什麼我的Android項目尋找「主」功能?

Android項目不應該有一個主要功能,那麼爲什麼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); 
    } 
} 

Exception in thread "main" java.lang.NoClassDefFoundError: Caused by: java.lang.ClassNotFoundException: at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: . Program will exit.

編輯:

<?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> 

回答

2

「主」是指將默認在創建的佈局文件:該活動是在清單中,這也是自動生成的日食聲明應用創建。您可能已從佈局文件夾中刪除了該佈局,或者可能已在佈局文件夾中更改了它的名稱。如果您設計了任何佈局,請參閱此處。而主要不是complusary。

你還有你在展現文件中聲明你的活動嗎?

setContentView(R.layout.main);意味着它顯示的是佈局文件而不是一個函數

+0

我沒有自己創建佈局,但自動生成的main.xml存在。清單包含該活動的條目。 – kxsong 2012-04-19 01:51:30

+0

默認情況下,Android會在創建應用程序時生成示例xml文件。你可以修改它。 – 2012-04-19 01:52:54