2013-12-17 44 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> 
相关问题