【发布时间】:2019-03-28 13:25:02
【问题描述】:
我已将一个在 Eclipse 上开发的项目导入 Android Studio。 该项目在我的设备上从 Eclipse 运行\调试时运行良好。
在我的设备上从 Android Studio 调试时,应用程序崩溃了,Android Studio 上没有捕获到异常。
当我放置断点时,它们工作正常,所以我知道我正在调试正确的代码:)
编辑:
我再次运行它并在 logcat 中得到以下异常(调试器不应该在代码中的某处停止以显示异常吗?就像在尝试访问文件的行中一样?):
2018-10-24 11:25:26.027 25903-25903/? E/libpersona: Couldn't open the File - /data/system/users/0/personalist.xml - No such file or directory
2018-10-24 11:25:31.735 23290-23301/? E/DatabaseUtils: Writing exception to parcel
java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=25858, uid=10314 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:639)
at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:505)
at android.content.ContentProvider$Transport.query(ContentProvider.java:217)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:102)
at android.os.Binder.execTransact(Binder.java:682)
虽然我确实在 AndroidMenifest.xml 中设置了权限:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.eibimalul.smartgallery"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_SOCIAL_STREAM"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
编辑 2:解决方案:
显然我错过了两件事:
- 我使用此链接 here 并在 @Pier Giorgio Misley 的评论的帮助下理解的运行时权限
-
我缺少对 AndroidManifest.xml 的权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
【问题讨论】:
-
那么在 logcat 中你一无所获?
-
您在“logcat”底部选项卡右上角的下拉菜单中选择了什么? “仅显示选定的应用程序”?确保你没有在过滤器输入框中写任何东西作为过滤器
-
我只选择了我的设备、我的应用程序和错误。我看到一条错误消息:“无法打开文件 - /data/system/users/0/personalist.xml - 没有这样的文件或目录”。这不是我的文件。
-
你必须在运行时请求权限,在清单中添加它们已经不够了
-
如果你想打破 Android Studio 中的异常:stackoverflow.com/questions/24718958/…