I am new android development and learning on emulator. What rooting of device means ?? it something like jail break for Iphone. How can i root emulator and why i need root a device ?
Rooting basically is giving the standard user root privileges, so that the normal user can do things that only the super user could normally do. On android devices this means being able to change several things, such as being able to modify the frequency of the processor, being able to install new firmware/ different versions of android that the manufacturer doesn't offer, or execute applications like the ones in here : http://androidforums.com/droid-x-all-things-root/131944-favorite-root-applications.html
It is fairly easy to do and very straightforward process in most of the android devices. You don't need to root the emulator, it is already rooted but you should better not be developing apps that require root access if you want to put them in the market -most of the people do not have a rooted device-.
Yes it is.
Because you perhaps want to use Android 2.3 on a phone where the manufacturer only supports 2.2 so far.
You do not need to root your device to do SDK development with it. You will never need this to build Android applications.
You root a device by exploiting a security hole in order to get a full access to the system. It then allows you to escape security to change system files that should not be modified.
It is a bit like jailbreaking. Rooting can allow you to install modified versions of your OS.
You are always root in the emulator, you do not need to "root it".
Related
I know I can use "su" to execute commands as root. Android pops up a user-dialogue to ask whether the app should be allowed to use su, and whether is should remember the user's decision for next time.
Are there things an app can do on a rooted phone, that they can't on an unrooted phone.
If so, what are they, and how are they enabled in the manifest?
I want to make the context plain.
I have a supposedly rooted Android device with no access to the Android marketplace.
I have not yet found a way of downloading apks from the play store without putting information about my phone into Chrome extensions which I do not trust.
I need to write a small app to find out if the device is rooted.
Many apps require rooted devices, so if I can write an app that does the same as them, I will know if the device is rooted.
One of the things I would like to do on this rooted device is to shut it down without user interaction.
Are there things an app can do on a rooted phone, that they can't on an unrooted phone.
Yes, in the same way that there are things that a super user can do on a Linux computer that a normal user cannot.
If so, what are they, and how are they enabled in the manifest?
There isn't really a list of things only available to rooted users. The number of things is long, depends on the device, and likely wouldn't really address your real question anyway.
In short, the answer is that you can perform privileged actions that are typically not available to applications or users using the command line.
In practice, this means you can access restricted parts of the filesystem (such as the Android system directory), including data from other applications (such as the normally protected SharedPreferences). This also means that you can access restricted commands/applications, such as sqlite3 (if installed).
If you are looking for a reason to write an application that leverages root access, you are likely going about this the wrong way. Instead, think of what functionality you want and determine if you need root access after that.
How to develop an application in android that will block particular website in device without uninstalling it from device?
If Android OS on the phone is not rooted you won't be able to block another application. Os doesn't give rights to do that. Android runs on Linux, Linux provides sandbox system call API and dictates rules.
http://developer.android.com/guide/topics/security/permissions.html
Basically you can do what is allowed to do. Intercept call's, block camera via device admin manager, read data of another apps if they share that data and only what they share, use some common resources, but not more than that. To do what you want to do your app has to be a root, but standard third party apps don't get root privileges. And your solution is to change firmware, bind your app into it with root privileges.
Though some application gives the same functionality. Those apps apparently pre-built with Android firmware. Manufacturers get firmware before it goes to the rest of the world. Make necessary changes to give more privileges to their app and bind it with Android ROM. You cannot uninstall those apps.
The only resolution is could prefer is to have root privileges to block other apps. And you will only get them on a rooted device.
There are many applications in google play that take snapshot, they work without device root.
Am new to Android development, so I dont know much of what can be done and what can not be and how it's done.
Following is the link on which you can find the list of applications working without device root :-
http://www.androidzoom.com/android_applications/screen+capture+no+root
If you read the descriptions of those products, you will see phrases like "Rooting will be required depending on model". That is because you are not supposed to be able to take screenshots programmatically, though rooted device users may be able to pull this off, at least for some devices.
Another technique, that at least one such app uses, is to involve a developer computer in the process, using the mechanisms in Android used by DDMS and such for taking screenshots. In reality, it is the computer, not the device, taking the screenshots.
For the devices that such apps work on without requiring root and without requiring a developer computer, the authors of those apps are exploiting security holes in individual devices, just like a malware author would.
Check this library.
Their page seems to suggest it can take screenshot without root.
Android Screenshot Library (ASL) enables to programmatically capture
screenshots from Android devices without requirement of having root
access privileges. Instead, ASL utilizes a native service running in
the background, started via the Android Debug Bridge (ADB) once per
device boot.
Edit:
there are quite a lot of posts SO regarding this
Programmatic screencapture on mobile device
Screen Capture in android
Is there a way to protect android devices so that the
user is no more able to download/install other apps?
The idea is to lend devices with specific apps.
Ideally the owner (that's me) should be able to remove the protection using a password/passphrase
Nope, don't think it can be done on a stock device.
If there is a way it is probably within the Device Administration API
Likely though is that if you want to achieve this you'd need at least a rooted device, and maybe even your own custom build of the OS to allow for it.
Sorry for the stupid question, but since i don't know the inner workings of android system, i have to ask this. I'd like to buy an android tablet and it's a pretty recent model (link at the bottom), but the fact is that i need it as a development device so a connectivity with adb is a must. So i wanted to ask if its possible that a device would not work with adb on absolutely all operating systems? Is adb a standard os feature that every device has or is it something that a manufacturer has to implement and so may choose not to?
Thank you for your thoughts
The device:
http://www.goclever.net/pl/tablet/359-GCT-T73-.html
So i wanted to ask if its possible that a device would not work with adb on absolutely all operating systems?
Yes. If the device does not legitimately have the Android Market on it, it may or may not support adb, and it may or may not have Windows device drivers for adb.
The device you link to should not have the Android Market on it, as it does not meet the Compatibility Definition Document requirements for Android 2.1 and therefore would not qualify.
I would not use this tablet as your primary development test hardware, unless you are only developing applications for this tablet.