【问题标题】:Apps won´t start after upgrading to Android Studio 0.5.0升级到 Android Studio 0.5.0 后应用程序无法启动
【发布时间】:2014-03-07 13:02:32
【问题描述】:

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

java.lang.SecurityException:权限拒绝:启动 Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.android.myapp/com.android。 myapp.application.ApplicationActivity } from null (pid=11313, uid=2000) 未从 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) 在 com.android.internal.os.RuntimeInit.nativeFinishInit(本机方法) 在 com.android.internal.os.RuntimeInit.main(RuntimeInit.java:243) 在 dalvik.system.NativeStart.main(Native Method)

我该如何解决?

编辑:

我的项目肯定有问题,现在在新版本的 android studio 下很重要,而以前没有。我刚刚开始了另一个可行的项目

<?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>

现在我做了以下事情:

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

现在我明白了:

设备外壳命令:am start -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 错误:Activity 类 {com.android.appname/com.android.android.application.ApplicationActivity} 不存在。

两个清单文件完全相等

尝试 2:

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

这到底是怎么回事?

【问题讨论】:

  • 您是否尝试清理和重建您的项目?
  • 请发布您的清单。
  • 我的清单上没有任何变化,它们都很好。我会清理并构建并重试
  • 还是不行。如果我直接在设备上启动应用程序本身是可启动的,但 adb 似乎无权远程启动它们
  • AS 0.5.0 引入了新的 gradle 和构建工具。您是否尝试编辑您的 build.gradle 以使用这些新工具和 gradle?

标签: android android-activity securityexception


【解决方案1】:

我的猜测是,当您运行项目时,您的 IDE 中设置了一些东西来运行特定的活动 (com.android.myapp.application.ApplicationActivity)。但是,您的清单中不存在此活动。不过,我本来希望看到不同的错误消息。

我认为我什至不使用 gradle,因为我的项目来自 eclipse

所有 Android Studio 构建都通过 Gradle。

【讨论】:

  • 我已将一个工作模块复制到无法工作的模块中。还是一样。现在我的猜测是,.idea 文件夹内有问题
  • @Nachbar90:您可以尝试删除(或移动到临时位置)您的 .iml 文件并重新启动 Android Studio。它将从您的 build.gradle 文件中重建,并且可能会清除一些问题。我还没有搞砸.idea/,抱歉。
【解决方案2】:

现在我删除了所有内容并再次检查,现在一切正常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 2022-01-23
    • 2020-06-25
    • 2021-01-11
    相关资源
    最近更新 更多