升级到Android Studio 0.5.0后,应用无法启动

时间:2014-03-07 13:02:33

标签: android android-activity securityexception

升级android studio后,我的应用程序不再用adb启动了。

  

java.lang.SecurityException:Permission Denial:启动Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10000000 cmp = com.android.myapp / com.android。来自null(pid = 11313,uid = 2000)的myapp.application.ApplicationActivity}未从uid 10274导出   在android.os.Parcel.readException(Parcel.java:1465)   在android.os.Parcel.readException(Parcel.java:1419)   在android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2150)   在com.android.commands.am.Am.runStart(Am.java:680)   在com.android.commands.am.Am.onRun(Am.java:270)   在com.android.internal.os.BaseCommand.run(BaseCommand.java:47)   在com.android.commands.am.Am.main(Am.java:76)   at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)   在com.android.internal.os.RuntimeInit.main(RuntimeInit.java:243)   在dalvik.system.NativeStart.main(本地方法)

我该如何解决?

编辑:

我的项目肯定存在一个问题,现在在Android工作室的新版本中并不重要。我刚刚开始了另一个有效的项目

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="17"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"></uses-feature>

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="com.android.vending.CHECK_LICENSE"></uses-permission>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"></uses-permission>

<uses-permission android:name="com.dsi.ant.permission.ANT" />
<uses-permission android:name="com.dsi.ant.permission.ANT_ADMIN" />

<application
    android:name="com.android.myapp.application.App"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:hardwareAccelerated="true"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <receiver android:name="com.android.myapp.expansiondownloader.SampleAlarmReceiver"/>

    <activity android:name="com.android.myapp.expansiondownloader.SampleDownloaderActivity"></activity>

    <activity
        android:name="com.android.myapp.expansiondownloader.DownloaderActivity"
        android:screenOrientation="sensorLandscape"></activity>

    <activity
        android:screenOrientation="sensorLandscape"
        android:name="com.android.appname.MainActivity"
        android:hardwareAccelerated="true"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

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


    <activity
        android:name="com.android.myapp.updater.UpdaterActivity"
        android:hardwareAccelerated="true"
        android:parentActivityName=".MainActivity"
        android:screenOrientation="sensorLandscape">

    </activity>

    <activity android:name="com.android.myapp.functionality.music.export.filechooser.FileChooser"></activity>

    <receiver android:name="com.android.myapp.updater.notification.NotificationDeleteReceiver"></receiver>

    <receiver android:name="com.android.myapp.functionality.mail.InternetConnectionReceiver">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
        </intent-filter>
    </receiver>

    <receiver android:name="com.android.myapp.functionality.music.export.filechooser.SDCardStateChangedReceiver">
        <intent-filter>
            <action android:name="android.intent.action.MEDIA_MOUNTED"/>
            <action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
            <action android:name="android.intent.action.MEDIA_REMOVED"/>
            <action android:name="android.intent.action.MEDIA_EJECT"/>
            <action android:name="android.intent.action.MEDIA_BAD_REMOVAL"/>
        </intent-filter>
    </receiver>

</application>

现在我做了以下事情:

我已经排除了项目中没有工作的模块,然后我用项目的内容替换了项目的内容(所有子文件夹和文件)。

现在我明白了:

  

DEVICE SHELL COMMAND:我开始-n“com.android.appname / com.android.android.application.ApplicationActivity”-a android.intent.action.MAIN -c android.intent.category.LAUNCHER   开始:Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.android.appname / com.android.android.application.ApplicationActivity}   错误类型3   错误:活动类{com.android.appname / com.android.android.application.ApplicationActivity}不存在。

两个清单文件完全相同

尝试2:

现在我复制了完整的工作模块并导入了它。 AS将其命名为“MyModul2”。开始了,......同样的错误。

这到底是怎么回事?

2 个答案:

答案 0 :(得分:1)

我的猜测是,在运行项目时,IDE中的某些内容设置为运行特定活动(com.android.myapp.application.ApplicationActivity)。但是,您的清单中不存在此活动。不过,我原本期望得到一条不同的错误信息。

  

我想我甚至不使用gradle,因为我的项目来自eclipse

所有Android Studio版本都通过Gradle。

答案 1 :(得分:0)

现在我删除了所有内容并再次检查了它,现在它可以正常工作