【发布时间】: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