2014-10-29 82 views
0

您好我已將sdk更新爲api級別21,並且從那時起我收到了很多錯誤。我的簡單應用程序在開始給我運行時異常之前沒有給出任何類型的錯誤。 這裏是我mainactivity.java類:更新sdk後無法運行簡單的android應用程序

package com.example.myfirstapp; 

import android.support.v4.view.MenuItemCompat; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.widget.ShareActionProvider; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 


public class MainActivity extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    MenuItem shareItem=menu.findItem(R.id.action_share); 
    ShareActionProvider m=(ShareActionProvider)MenuItemCompat.getActionProvider(shareItem); 
    m.setShareIntent(getDefaultIntent()); 
    return true; 
} 

private Intent getDefaultIntent() { 
    // TODO Auto-generated method stub 
    Intent intent=new Intent(Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    return intent; 
} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
} 

我的Manifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myfirstapp" 
    android:versionCode="1" 
    android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="21" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     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> 

我的main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.example.myfirstapp.MainActivity" > 

    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:title="@string/action_settings" 
     app:showAsAction="never"/> 
    <item 
     android:id="@+id/action_search" 
     android:orderInCategory="100" 
     android:icon="@drawable/ic_action_search" 
     android:title="@string/action_search" 
     app:showAsAction="ifRoom|withText" 
     app:actionViewClass="android.support.v7.widget.SearchView"/> 

    <item 
     android:id="@+id/action_share" 
     android:icon="@drawable/ic_action_share" 
     android:orderInCategory="100" 
     android:title="@string/action_share" 
     app:showAsAction="always" 
     app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/> 
    </menu> 

當我運行這個簡單的應用我收到以下錯誤:

10-29 03:08:48.153: E/AndroidRuntime(1481): FATAL EXCEPTION: main 
10-29 03:08:48.153: E/AndroidRuntime(1481): java.lang.RuntimeException: Unable to instantiate   activity ComponentInfo 
com.example.myfirstapp.com.example.myfirstapp.MainActivity 
10-29 03:08:48.153: E/AndroidRuntime(1481):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.os.Handler.dispatchMessage(Handler.java:99) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.os.Looper.loop(Looper.java:137) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at java.lang.reflect.Method.invokeNative(Native Method) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at java.lang.reflect.Method.invoke(Method.java:511) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at dalvik.system.NativeStart.main(Native Method) 
10-29 03:08:48.153: E/AndroidRuntime(1481): Caused by: java.lang.ClassNotFoundException: com.example.myfirstapp.com.example.myfirstapp.MainActivity 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.app.Instrumentation.newActivity(Instrumentation.java:1053) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974) 
10-29 03:08:48.153: E/AndroidRuntime(1481):  ... 11 more 

回答

0

我可以看到你的班級是com.example.myfirstapp.MainActivity,但程序無法找到com.example.myfirstapp.com.example.myfirstapp.MainActivity,因爲它已將你的軟件包名稱加倍。

AndroidManifest.xml嘗試將主類與包名稱而不是.MainActivity。那它有用嗎?

<application> 
<activity 
    android:name="com.example.myfirstapp.MainActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

+0

是我嘗試這一點,但我沒有工作。它給出了相同的錯誤 – user2720828 2014-10-29 16:58:57

+0

任何人都可以給我任何選項? – user2720828 2014-10-29 19:11:39

+0

工作嗎? http://stackoverflow.com/a/16610247/1268823 – Phonbopit 2014-10-30 01:39:05

相關問題