The question:
I have a System app that uses system permissions and I have those permissions listed in the manifest. Eclipse gives the following error when I try to make a build(command line build works):
Permission is only granted to system apps
I’m already aware that my app requires system permissions and it is not a problem for me because my application will be used only on rooted phones. So I want to suppress this error, anyone knows how?
EDIT
My project already compiles fine on command line, installs, runs etc.. My problem is about eclipse giving an error for a legit manifest file.
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
In Eclipse:
Window -> Preferences -> Android -> Lint Error Checking.
In the list find an entry with ID = ProtectedPermission
. Set the Severity to something lower than Error. This way you can still compile the project using Eclipse.
In Android Studio:
File -> Settings -> Editor -> Inspections
Under Android Lint
, locate Using system app permission
. Either uncheck the checkbox or choose a Severity lower than Error.
Method 2
To ignore this error for one instance only, add the tools:ignore="ProtectedPermissions"
attribute to your permission declaration. Here is an example:
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
tools:ignore="ProtectedPermissions" />
You have to add tools
namespace in the manifest root element
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
Method 3
Have same error from time to time (when I set install location to “prefer external” in manifest). Just clean and rebuild project. Works for me.
Method 4
tools:ignore="ProtectedPermissions"
Try adding this attribute to that permission.
Method 5
Path In Android Studio in mac:
Android Studio -> Preferences -> Editor -> Inspections
Expand Android -> Expand Lint -> Expand Correctness
Uncheck the checkbox for Using system app permission
Click on “APPLY” -> “OK”
Method 6
when your add permission in manifest then
in eclipse go to project and clic
- click on project
- click on clean project
that’s all
k on clean project
Method 7
Preferences –> EditorEditor –> Inspections –> Android Lint –> uncheck item Using System app permissio
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0