You must Sign In to post a response.
  • How do Android apps get root permissions to do Disk Partition on Android machines


    Are you curious to know how Android apps get root permissions to do disk partitioning without rooting the device? Read the answers by our experts to quell this curiosity.

    How do some apps like Apk Extractor and antivirus apps access contents of Data partition which is read/write protected and cannot be accessed without root permissions? Moreover, why mobile/wifi networks assign only local IP addresses each time, why can't they use the unique Mac address to identify the devices instead? Shouldn't there be one unique address for all purposes instead of having different wifi Mac, bluetooth, imei and IP addresses? Please explain.
  • Answers

    3 Answers found.
  • First of all a suggestion - Ask different questions in separate threads, don't mix two completely unrelated questions in one question itself.
    Now, let us take both questions one by one:
    1. You are quite correct in saying that partitioning disks on Android require root permissions because after all Android is nothing but a Linux system and a modifying a Linux kernel requires root permissions. Due to this reason only, when you use a Disk Partitioning software, you are required to reboot your smartphone. This way, the phone is put in Recovery mode and using ADB (Android Debug Bridge -which gives you developer access on the phone) the app is able to execute commands as root user. Doing Partition modifications on Android is possible manually too, using a separate PC and ADB to connect the devices, you can do all the steps by a command line interface of the Window or Linux/Mac.

    2. It is required to provide a IP address each time because though Mac addresses provide a unique ID for each device, these IDs can't be used for communication purpose. Only IP addresses can be used for communication purpose, so if you need to do any networking related operations you need to have a IP address assigned to each network layer device.

  • Here are some of the answers to your questions.

    1. Permission for Android

    Android operating system is designed to be secure for apps and users. So for every root level action requires an app for asking for permission during the install and during the usage. So every app that requires root level action asks you for the verification dialogue when the app is being installed. Considering the Android written on top of the Linux-based kernel, it's natural for it to ask for root permission for app usage. Disk partition, file copy, internet access, camera access are being kept under root permission. You can get over this limitation if you wish to format the disk by connecting the device to PC and then format it, using an external application. In such case, however, any data that you have, might be removed. In this case, you have to connect the Android device using ADB bridge, override the root and then get the access to the disk.

    2. Mac Address Allocation

    Every device that is connected to the network gets assigned with the IP address. And any device that routes the devices in a network is assigned with the MAC Address. So for example, Wifi router, Wifi hotspot, all are assigned with the MAC address. Unless your device itself is acting as a server for other devices connected, there is no need for it to have MAC address.

    3. Different Address in Devices

    Bluetooth, IMEI, IP all are handling a different level of communication and hence they are recognized as differently with the number. For example IMEI is the number that is assigned by the telecom operator so that is already unique for each device. Same goes for Bluetooth as it's different communication method and recognizes the device in a different way. And finally, IP is specific to the internet network, which assigns unique IP per session till the router is rebooted. The reason as explained is because each device has a unique connection established for different packet transfer within it's specific network.

    4. Mobile Network assigning different IP

    If you are connecting the device to Wifi with static IP, then your IP remains same. However as the mobile network doesn't have static IP system, you'd find it allocating different IP in a different session. You may find that device in a Wifi network with dynamic IP allocation also leads to different IP in each session.

  • Well, they are just too many queries and quite unrelated to each other!

    1. Android will request root permissions if you want to access the areas like disk partition and the kind of programs that need to you cut or copy data. For another kind of tasks, it may not need root permissions, but it will need only app permissions.

    2. Mac Address is needed because without Mac address, an IP address cannot be obtained. Ethernet does not understand the IP address and the device manufacturer cannot assign a unique IP address to each device.

    3. A smartphone or any other device performs multiple functions. If you have different communication protocols, you will need to have different addresses for the individual protocols. Bluetooth, WiFi, and InfraRed - all are meant for different communication needs. And as such, they will need different addresses. One address can not be used for another purpose. That is exactly why we need multiple addresses.

    4. The IP address does change across network boundaries and with every reboot. When you move between the signal boundaries of a single network, the IP address will change and you may not even notice it.

    Live....and Let Live!


  • Sign In to post your comments
    -