2013-12-17 39 views
1

該應用程序適用於我的Genymotion模擬器但沒有與此異常啓動時的實際設備上運行時:Android的運行時錯誤(實際設備只):拋出:SecurityException

Launching application: <package>/<package>.MainActivity. 
DEVICE SHELL COMMAND: am start -D -n "<package>/<package>.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=<package>/.MainActivity } 
java.lang.SecurityException: Permission Denial: starting Intent { act=<package>.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=<package>/.MainActivity } from null (pid=21943, uid=2000) not exported from uid 10204 
at android.os.Parcel.readException(Parcel.java:1425) 
at android.os.Parcel.readException(Parcel.java:1379) 
at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2204) 
at com.android.commands.am.Am.runStart(Am.java:494) 
at com.android.commands.am.Am.run(Am.java:109) 
at com.android.commands.am.Am.main(Am.java:82) 
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) 
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:243) 
at dalvik.system.NativeStart.main(Native Method) 

Waiting for process: <package> 

這裏是我的清單:

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

    <uses-sdk 
     android:minSdkVersion="17" 
     android:targetSdkVersion="19" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="<package>.MainActivity" 
      android:label="@string/app_name" > 
     </activity> 
    </application> 

</manifest> 

而且MainActivity.java:

public class MainActivity extends ActionBarActivity { 

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

} 

這是怎麼回事?爲什麼當我只使用普通配置時,它會試圖以特定用戶身份運行?下面

+0

,請複製粘貼代碼,你的活動是這樣的,你使用的是該活動的意圖,以獲得更多它 –

+0

@VaibhavAgarwal想法,我本來應該更清晰,我的onCreate斷點不打,看起來並不像任何的斷點(本書雖然它擊中虛擬機上) – pfrank

+0

是的這就是爲什麼我要問在t他編寫了該活動的代碼,以便我們可以看到該活動中存在什麼問題。您應該粘貼您的主要活動及其母公司活動,如果有任何 –

回答

2

變化你menifest.xml文件

<activity 
    android:name="<package>.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

沒有解決它=( – pfrank

+0

檢查我的更新答案 –

+0

你更新的答案固定它,謝謝!也就是爲什麼會默認被打破,我沒惹甚至不呢?看起來很奇怪 – pfrank

0

您應該從MainActivity定義清單

 <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:theme="@android:style/AppTheme" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
相關問題