Android清单自动生成无效权限

3

我在我的Android清单文件中意外输入了一个无效的权限名称,但无法删除它。这是我的清单代码:

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="21" />

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="haveabeer.two.padc.haveabeer.MainActivity"
        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="haveabeer.two.padc.haveabeer.Records"
        android:label="@string/app_name" >
    </activity>
</application>

问题在于,当我突出显示并删除权限后,构建我的应用程序进行调试时,权限会重新出现,导致我的应用程序无法构建。我无法编辑它,也无法删除它。如果我尝试执行任何一项操作,它都会重新生成并显示“构建文件夹中的文件是自动生成的,不应进行编辑”。是的,我已经尝试了CTRL+Z,但错误发生得太久以前无法修复。

2个回答

17
我试图要么它重新生成并显示“在构建文件夹下的文件是生成的,不应进行编辑”。
这是因为您没有编辑正确的清单文件。 您试图编辑生成的清单文件,可能是因为Android Studio在屏幕上弹出了该文件。 这是Android Studio的错误行为,如果没有错误报告,请让我提交一个错误报告,因为我也看到了这种行为。
相反,转到真正的清单文件(可能位于项目根目录下的app/src/main/AndroidManifest.xml),然后进行编辑。
顺便说一句,您的任何一个<uses-permission>行都不正确。 其中一个引用了一个组,另外两个引用了不存在的权限。 更新:我已经提交了错误报告

谢谢,它起作用了。那是一个奇怪的问题。如果我使用sharedPreferences来保存一些int,我应该使用什么权限? - Ethan
@Ethan:你不需要任何权限来使用SharedPreferences。这些将存储在您的应用程序内部存储的部分中,而且在处理您的应用程序内部存储的部分时不需要任何权限。 - CommonsWare
好的,谢谢!最后一个问题。现在一切都运行得很好! - Ethan

2

听取建议。您正在尝试编辑每次构建项目时都会被覆盖的build文件夹中生成的清单。请转到source目录并在那里修改清单。

路径看起来类似于:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接