2012-06-26 51 views
0

我試圖用eclipse和phonegap創建我的第一個應用程序。但是,當我嘗試運行應用程序,我得到這個消息:Android Eclipse致命錯誤

06-26 20:50:03.736: E/AndroidRuntime(1449): FATAL EXCEPTION: main 
06-26 20:50:03.736: E/AndroidRuntime(1449): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{my.first.app/my.first.app.MyFirstAppActivity}: java.lang.ClassNotFoundException: my.first.app.MyFirstAppActivity 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.ActivityThread.access$600(ActivityThread.java:123) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.os.Looper.loop(Looper.java:137) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at dalvik.system.NativeStart.main(Native Method) 
06-26 20:50:03.736: E/AndroidRuntime(1449): Caused by: java.lang.ClassNotFoundException: my.first.app.MyFirstAppActivity 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871) 
06-26 20:50:03.736: E/AndroidRuntime(1449):  ... 11 more 

清單:

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > 
    <activity android:name=".MyFirstAppActivity" 
       android:configChanges="orientation|keyboardHidden|screenSize" 
       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> 

我都嚴格遵守,在http://docs.phonegap.com/en/1.8.1/guide_getting-started_index.md.html#Getting%20Started%20Guides

下面的說明是我MyFirstAppActivity.java文件:

package my.first.app; 

import android.app.Activity; 
import android.os.Bundle; 
import org.apache.cordova.*; 


public class MyFirstAppActivity extends DroidGap { // DroidGap 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.loadUrl("file:///android_asset/www/index.html"); 
    } 
} 

And AndroidManifest.xml

<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.RECEIVE_SMS" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.BROADCAST_STICKY" /> 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity android:name=".MyFirstAppActivity" android:configChanges="orientation|keyboardHidden|screenSize" 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> 

回答

2

您可能忘記了在AndroidManifest.xml中聲明MyFirstAppActivity

確保您的清單包含像這樣在<application></application>標籤之間:

<activity android:name=".MyFirstAppActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
+0

<應用 機器人:圖標= 「@繪製/ ic_launcher」 機器人:標籤= 「@串/ APP_NAME」> <活動 機器人:名稱= 機器人 「MyFirstAppActivity。」:configChanges =「取向| keyboardHidden | screenSize「 android:label =」@ string/app_name「>

+0

對上帝的愛,它張貼在你原來的職位編輯...我不能讀這樣的笑 –

+0

@KostadinBuglow評論這一切揉成了,我加爲你......將來你應該將代碼添加到您的原始帖子中。你還應該確保你的代碼是可讀的,縮進,並很好地格式化,因此它不會給人們頭疼,當他們讀它:) –

0

變化

public class MyFirstAppActivity extends DroidGap { // DroidGap 

public class MyFirstAppActivity extends Activity { 

,並創建有一個DroidGap對象如果需要的話。