Monday 1 April 2013

Permission is only granted to system app, in Manifest error in Eclipse

MODIFY_PHONE_STATE permission is granted to system apps only. Error while developing Android Application.
Actually in android they are 2 types of Android apps : 

1) System 
2) user

User apps are just all your normal app installations through the Google Play Store, Amazon Appstore. These go into the /data partition of your Android phone, which is the part of the internal memory made available for user data and apps.

System apps are basically the apps that come pre-installed with your ROM. In a standard Android user environment, the user doesn’t have write access to the /system partition and thus, installing or uninstalling system apps directly isn’t possible.

In order to install an app as a system app on your Android device, your device must either be rooted or have a custom recovery installed (or both).

That being said, that error is actually wrong because you have a valid code and compilation should work. It would be better if it gave a warning instead. In Eclipse you can easily fix it. 

Just go to:

Window -> Preferences -> Android -> Lint Error Checking.

Find Protected Permission from the list and set the severity to something other than error(info for example). This way your project will still compile.

Android SQLite Database Viewer or Debuging with Stetho

Every Android Developer uses SQLite Database to store data into the Android Application data. But to view the data in SQLite have a lot of...