Android Studio 项目出现错误“缺少权限”

Posted

技术标签:

【中文标题】Android Studio 项目出现错误“缺少权限”【英文标题】:Android Studio projects are having an error "Missing Permission" 【发布时间】:2021-10-16 01:39:03 【问题描述】:

注意:我一直在研究这个项目,并时不时地构建它。它工作正常,直到最近我的所有项目都开始显示“缺少权限错误”,但我已经在 androidManifest 文件中提到了项目的权限。

项目 1:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.firstproject">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        ////other code

</manifest>

missing permission error in first project

为什么我需要权限/权限检查:

error-at(1)

error-at(2)

error-at(3)

error-at(4)

missing permission error

build.gradle (:app)(第一个项目):

dependencies 
implementation platform('com.google.firebase:firebase-bom:28.1.0')
implementation "androidx.cardview:cardview:1.0.0"
implementation "com.google.android.material:material:1.3.0"
implementation 'com.google.android.gms:play-services-auth:19.0.0'
implementation 'com.firebaseui:firebase-ui-database:6.2.1'
implementation 'com.google.firebase:firebase-auth'
implementation 'com.google.firebase:firebase-analytics'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.firebase:firebase-database:20.0.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
implementation 'androidx.navigation:navigation-fragment:2.3.5'
implementation 'androidx.navigation:navigation-ui:2.3.5'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'com.google.android.gms:play-services-maps:17.0.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.karumi:dexter:6.1.2'
implementation 'com.google.android.gms:play-services-location:18.0.0'
implementation 'com.google.android.gms:play-services-places:17.0.0'
implementation 'com.firebase:geofire-android:3.0.0'

我的第二个项目出现同样的错误。

第二个项目: missing permission error in second project

AndroidManifest.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.driver">
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
//other stuff

项目构建日志:

Starting Gradle Daemon...
Gradle Daemon started in 3 s 90 ms

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/7.0.2/userguid/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 34s

如果我运行此项目时出现以下错误会发生什么: 它不要求我的许可,但在设置 - > 应用程序中显示许可 permission showing in the setting

我已经尝试过的:

    重建项目 清理项目 升级 Gradle 删除项目并构建备份版本(一个提交还原,因为我使用 github)

【问题讨论】:

您需要申请权限developer.android.com/training/permissions/requesting 【参考方案1】:

这很容易解决,Android Studio 会自动生成一些带有 return 语句的代码。如果授予然后将检查权限,将执行下一行代码,否则如果授予您在运行时请求权限并重新运行相同的 yourgetLocationmethod();

This link will be helpful

【讨论】:

【参考方案2】:

经过数小时的研究和尝试新事物后,我发现我的 AndroidManifest.xml 没有合并文件,而且我的所有项目都在发生这种情况。

我找不到发生这种情况的答案,但这就是 AndroidManifest.xml 中的权限不起作用的原因。

我为解决这个问题所做的事情

    删除 E:/Android Studio (custom) 处的 Android Studio 目录 删除位于 C:/Users/UserName/.android 的 .android 目录(默认) 删除位于 C:/Users/UserName/.gradle 的 .gradle 目录(默认) 安装新的 Android Studio

在那之后所有以前的项目都运行良好

注意: 要查看目录(例如 .android),请确保启用“显示隐藏文件/文件夹”

【讨论】:

以上是关于Android Studio 项目出现错误“缺少权限”的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio运行出现项目 错误:非法字符:“ufeff”

Android 项目导入Android Studio 总是会出现错误: Plugin with id 'com.android.application' not found

xml文件中的文本不完整,导致新创建的Android Studio项目出现错误

Android studio 创建项目R文件丢失解决方案

android studio安卓项目出现Error: Default Activity Not Found错误无法编译的解决方案

Android studio 报错问题