2012-06-26 53 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对象如果需要的话。