Android grant root permission

Grant Root Permission/Privilege/Access for Your Android Device via KingoRoot

KingoRoot grants root permission/privilege for all Android devices. Both KingoRoot on Windows and KingoRoot APK can easily and efficiently root your Android device.

Steps of Rooting Your Android with KingoRoot APK

  • Step 1: Free download KingoRoot APK

If Chrome has warned you about KingoRoot.apk, click OK to proceed.


Step 2: Install the KingoRoot APK

After KingoRoot APK download is complete, install the apk file.

*Note: you may receive this install block message. Take the following steps:

  • Install Blocked: Settings > Security > Unknown sources > Check the box and allow.
  • Harmful App: Settings > Security > Verify apps > Uncheck it.
  • Step 3: Click»One Click Root» to run the KingoRoot APK.
  • Step 4:Succeeded or Failed.

    You may want to try it several times because KingoRoot.apk will only download one script at a time. Running different scripts may deliver different results.

    For a detail tutorial with KingoRoot APK please visit: How to Root Android without Computer (APK ROOT without PC)

    MORE TO SAY: If KingoRoot APK still failed to root your Android devices, you can try on KingoRoot on Windows (PC Version), which has a much higher success rate for technical reasons. How to root any Android device of any version with KingoRoot PC Version?

    KingoRoot on Windows

    KingoRoot Android on Windows has the highest success rate. It supports almost any Android device and version.

    KingoRoot for Android

    KingoRoot for Android is the most convenient and powerful apk root tool. Root any Android device and version without connecting to PC.

    Источник

    How to Grant Root Access on Android

    By Louis Habersham , 14/10/2016, updated on 04/01/2021

    When you open a root app on your Android, taking Samsung Galaxy S7 Edge as an example, the app may require permission for rooting. And you should receive a note as the below screenshot, which reads, «Allow *** to request root permission». Then you need to tap the «Allow» button and «Still Allow».

    People Also Read:

    But the thing is that, on some certain apps, there may be no such a popup notice occurred. Under such a circumstance, you will need to follow Part 1 to allow the permission, that is, to grant permission and allow root access. Then you can check the root status and root your phone under the instruction of Part 2. Now here we go.

    Read before Rooting: Note that before granting root access and rooting your Android, it is significant to backup your Android data. This step is simple but quite important. Never skip it! Because some apps can cause a system crash.

    The best and the easiest way to root your Android is to let professionals do it. If you’re looking to get a premium root access, look no further than Unlock Partner. They have an expert team of technicians who are available 24/7 to help you get the root access on your phone, safe and sound.

    Part 1. Managing Root Permissions With the SuperSU App

    SuperSU is a free but powerful root management tool for Android devices. If the permission request didn’t show up, it can help you give root permission on Android. Please follow the instructions and grant permission in order to give root access.

    Step 1. Download SuperSU

    First of all, you need an app that manages root permissions of your apps. Download and install SuperSu on your Samsung Galaxy S7 Edge. Then reboot your device. You should see the SuperSU icon.

    Step 2. Manage Root Permissions

    To manage root permissions, activate the SuperSU app. Apps that have been granted or denied Superuser access are orderly listed. You can touch to change its permissions.

    With SuperSU app on your Android, whenever an app is intended to request root permissions, it has to ask SuperSU on your phone.

    Part 2. Root Android with Android Data Recovery

    Android Data Recovery, as a multi-functional program, also allows users to root their Android without a hitch. All you should do is to connect to the software and let it do all the rest.

    Step 1. Connect Device to PC

    To start with, download and open Android Data Recovery on your computer. At the left pane, select and click «More Tools» > «Android Root». When in the «Android Root» page, you will be prompted to connect your Android device to the computer. Take use of your cable to help the connection. During the process, do not start any other Android phone management software. Then USB debugging is required.

    Step 2. Check Android Status

    When your phone is recognized, you will have a note, which reads like «Samsung Galaxy S7 Edge is connected». Then Android Data Recovery will check the root status of your device. The result will be shown in the interface. There will be two cases:

    Case 1: Android Phone is Rooted

    Should your Android phone bee rooted, you will have an interface with a note saying something like «Samsung Galaxy S7 has been rooted». You don’t need to root your phone one more time.

    Case 2: Phone is Unrooted

    If your phone has not been rooted, you will have the interface as below. The program will detect your phone to find a proper solution before rooting. Please read the software terms and agreements and click the Start button to continue.

    Next, the software will check if your phone is supported or not. Here are some notices you need to pay attention to:

    First of all, please do not unplug your device during the detecting process.Second, the phone will restart sometimes when detecting.Last, it will take longer to detect some phones. Please wait patiently.

    If your Android is unsupported, you will have an interface as below. You can submit your phone information if you need to root it urgently. The developer will respond to your feedback as soon as possible.

    Читайте также:  Адблок для яндекса андроид

    If your device is supported, you can check the «Root Now» button to start the rooting process. When the operation is completed, you will be prompted «Model downloaded» and «Phone Rooted».

    If you ever want to unroot your device, turn on the SuperSU app > go to its Settings screen > tap the «Full unroot» option. Then your phone will be unrooted. This is definitely the easiest way to unroot your phone.

    That’s all. Questions and feedbacks are welcomed. Just leave your message.

    Источник

    How to Grant Root Access to Android Phone with SuperSU

    You need to root your phone if you want to run a specific app that requires root access. Apps that require root aren’t hard to find, they’re available in Google Play, but they won’t work until you gain root access. Some apps have features that only work on a rooted device, like iSumsoft Windows password refixer for Android.

    What is Rooting

    Rooting is the process of enabling access to the root account, installing the Su binary. Applications can call Su to gain elevated privileges, so they can break free from Android’s security sandbox and do more powerful things. Android devices come with a «root» user that functions like te Administrator user account on Windows. By default, Android doesn’t give you access to the root account for security purposes. However, there are many ways to root an Android phone, and which one you should use depends on your phone.

    Common Android rooting ways including: Using the built-in one-click root process, Meizu and XiaoMi phone have Root Permission option, which can be enabled in Settings. You can root android with One-click tool, like Kingoroot. TWRP recovery method, which is the most widely supported method for rooting your device.

    What is SuperSU Root

    SuperSU was created by world-famous Android developer Chainfire.В It is an app that allows for advanced management of superuser access on a rooted Android device. Rooting can be done through two methods: Using Android Application Package (APK), which is usually provided by 3rd party rooting service, and manually granting root access (can be achieved in recovery mode).

    How to Use SuperSU Root to Root Android Phone

    SuperSU is available in the Google Play Store, but that version doesn’t actually give you root access. In fact, you need root access to use it in the first place. Thankfully,В SuperSU is also available as a .zipВ file that we can “flash” with TWRP.

    To use SuperSU, you first of all need to install TWRP recovery environment on your device. Go toВ TWRP siteВ to download the right one for your device. Once TWRP recovery environment is installed on your device, you are ready to Flash SuperSU and gain root access. Just do as the following steps below.

    Note: Make sure it is fully charged so that it cannot be switched off while being rooted.В Backup your Android before proceeding. Since there are risks that it will brick your phone if the rooting doesn’t go well, it’s important to back up your phone data before rooting. So if anything goes wrong, you don’t end up to losing all precious data on the phone.

    Step 1: Go toВ SuperSU Root siteВ and download the SuperSU zip file. If you download it on your computer, you need to transfer it to your device.

    Step 2: Get the device in the TWRP recovery environment. To do:

    Hold down specific buttons on your device. This buttons you have to hold down vary from one device to another. for example, you may have to hold the Power and Volume Down buttons simultaneously, then use the volume keys to boot Recovery Mode. For your specific device, find the proper button combination by searching for «TWRP (Device Model name)» in Google.

    On the TWRP recovery screen, tap «Install» to begin the process.

    Step 3: Scroll down and navigate to the SuperSU ZIP file you downloaded. Select it and then Swipe to confirm flash.

    Step 4: Wait for it flashing. Tap Wipe cache/Dalvik when SuperSU is installed. When that finished, select the Reboot System to continue your operation.

    Managing Root Permissions With the SuperSU App

    When you reboot your phone, you should see the new SuperSU icon in your app drawer.В SuperSUВ controlsВ which other apps on your phone get root permissions. Whenever an app wants to request root permissions, it has to ask your SuperSU app, which will show a request prompt asking for root access. If you click Grant and you get a success message, you have successfully achieved root on your phone.

    To manage root permissions, open your app drawer and tap the SuperSU icon. You’ll see a list of apps that have been granted or denied superuser access. You can tap on an app to change its permissions.

    How to Unroot Android with SuperSU/Uninstall SuperSU

    If you ever want to unroot, use the following steps, this is definitely the easiest way to unroot your phone.

    Step 1: Open SuperSU app.

    Step 2: Go to the Settings tab.

    Step 3: Scroll down below to the Cleanup section.

    Step 4: Tap on Full Unroot toВ uninstall SuperSUВ and unroot your phone.

    Step 5: Confirm by pressing Continue.

    Источник

    Android runtime permissions. Почему, зачем и как

    Часто при установке приложения на Android нам приходилось видеть, что оно запрашивает какое-то немыслимое количество разрешений. Например:

    Хорошо, если вы устанавливаете приложение от какого-то известного разработчика, которому можете доверять. Но весьма подозрительно, если вы устанавливаете новый музыкальный плеер, а ему для работы требуется, например, получать ваше местоположение. Или, тем более, фонарик, требующий доступ к смс и звонкам.

    Некоторые разработчики, чтобы уменьшить недоверие, добавляют в описание приложения на Google Play информацию о том, зачем нужно то или иное разрешение.

    К шестой версии Android ситуация поменялась. Теперь разрешения нужно запрашивать в процессе работы. О том, как этой новой возможностью пользоваться и ее некоторых подводных камнях будет рассказано далее.

    Общая информация

    Подобно тому, как это происходит в iOS, при запросе появится системный диалог с запросом разрешения.

    Отличие в том, что после нажатия на кнопку “Deny” разрешение не будет полностью запрещено для приложения, как это происходит у Apple. Его можно будет запросить повторно, но в этом случае появится опция “Never ask again”, после выбора которой “Deny” работает как “Don’t allow” в iOS.

    Читайте также:  Бум сосед для андроид

    Разрешения делятся на два типа (есть и другие, но они нас не интересуют):

    • обычные (normal);
    • опасные (dangerous).

    Обычные разрешения будут получены приложением при установке, никакого подтверждения от пользователя не потребуется (немного спорный момент, на мой взгляд, стоило бы уведомлять пользователя об обязательных разрешениях). В дальнейшем отозвать их у приложения будет невозможно. Опасные же должны быть запрошены в процессе работы приложения и в любой момент могут быть отозваны. Список опасных и не очень разрешений можно посмотреть тут.

    Можно увидеть, что доступ к интернету не считается опасным. Все, кто использует рекламу в своих программах, могут вздохнуть с облегчением: отключить её, просто отобрав разрешение, не получится (все еще можно просто отключить интернет, но факт остается фактом).

    Для того чтобы отозвать разрешение, которое было выдано ранее (или предоставить его, если вы выбрали “Never ask again”) нужно перейти в настройки приложения (Settings->Apps->*AppName*) в раздел Permissions и кликнуть по соответствующим переключателям. В этом меню также можно посмотреть все разрешения этой программы, выбрав пункт “All permissions” из контекстного меню. Еще есть возможность просматривать, каким приложениям выдано конкретное разрешение (и соответственно предоставить или отобрать его). Для этого в настройках в разделе Apps нужно кликнуть по меню с иконкой шестеренки и в открывшемся разделе выбрать App permissions. Далее, выбрав нужное разрешение, можно увидеть все приложения, которым оно нужно.

    Взаимодействие с пользователем

    Посмотрим, как нужно производить взаимодействие с пользователем. Начнем непосредственно с запроса разрешения. С обычными разрешениями все понятно, это дело установщика приложений, нас это не интересует, а то, как мы будем запрашивать опасные разрешения, зависит от двух вещей.

    Первая из них — это важность данного разрешения для вашего приложения, от этого зависит, когда нужно производить запрос. Если функция критична и без нее программа не будет иметь смысла, то смело просите разрешения прямо при запуске приложения. Например, если вы разрабатываете приложение для обмена sms, то без соответствующих разрешений с ним ничего не получится сделать, оно теряет всякий смысл. А если пользователь отказал, то не пропускаем его дальше, но даем возможность снова вызвать диалог запроса и даем инструкции что нужно делать.

    Если же разрешения требует некая вторичная функция, то не нужно просить о нем сразу. Делайте это только тогда, когда пользователь захочет воспользоваться этой возможностью.

    Второй момент заключается в том, насколько ясно будет человеку, для чего нужно это разрешение. Зачем приложению для смс доступ к календарю? Наверное, для какой-то классной функции, которая облегчит перенос дат из сообщений в календарь и тому подобное. Но знаете об этом только вы, поэтому сначала нужно объяснить причину запроса и показать какие возможности даст доступ к этому разрешению. Это относится и к первичным и к вторичным разрешениям.

    Еще раз кратко:

    • важные разрешения запрашиваем при запуске, вторичные — при первом использовании соответствующей функции;
    • если понять, зачем нужно разрешение тяжело, предоставляем объяснение.

    В случае, когда вам все-таки отказали, пояснение причины в следующий раз является обязательным. А если помимо отказа, пользователь попросил вас никогда не запрашивать данное разрешение, используя опцию “Never ask again”, но пытается использовать соответствующую функцию приложения, предложите ему перейти в настройки вашей программы и вручную включить необходимые разрешения. Это особенно важно, если разрешение критично для работы программы.

    Логичным вопросом будет: а что же произойдет, если запустить ваше неадаптированное под runtime разрешения приложение на Android Marshmallow? Ответ зависит от того осмелились ли вы изменить targetSdk на 23 версию (compileSdk и buildTools нас в данном случае не интересуют). Если да, то у меня не лучшие новости для вас: очень вероятно, что вы получите SecurityException. Это не обязательно будет так, возможно где-то вы получите null вместо запрошенной информации, но вероятность далеко не нулевая. Если же вы используете targetSdk версии 22 и ниже, то все разрешения будут, как и прежде выданы приложению при установке, включая опасные. Это не отменяет того, что пользователь может отозвать любое из них после установки. При этом он получит предупреждение, что приложение не адаптировано под runtime разрешения и может работать некорректно. Насколько некорректно оно будет работать, полностью зависит от вас, то есть если вы проверяли возвращаемые значения на null или были готовы к нулю вместо вменяемого значения, то ничего страшного не произойдет: приложение просто не будет полноценно функционировать (что выглядит все же лучше чем падение из-за NullPointerException).

    Но даже если у вас все хорошо с проверками и нет возможности заниматься внедрением новых возможностей, стоит перепроверить, все ли правильно работает, потому что иногда можно получить null не там, где его ожидаешь. Так, например, при использовании Environment.getExternalStorageDirectory() без наличия разрешения из группы Storage, мы получим File, но list() вернет нам заветный null. В документации такой исход описан, но для ситуации, когда File не является директорией. Так что проверка в любом случае лишней не будет.

    Есть возможность добавить разрешение только для Android M и выше. Для это в манифесте нужно использовать новый тег (ранее называвшийся ). Его синтаксис аналогичен обычному . Это может быть полезно, если вы хотите добавить в существующее приложение возможность, которая требует дополнительного разрешения. Как вы помните, если новая версия программы требует дополнительных прав, пользователь должен вручную подтвердить ее обновление. Этого можно избежать, если новая функция не очень важна, отключив ее для более ранних версий системы, используя описанный ранее тег. В таком случае это разрешение будет вовсе отсутствовать.

    В процессе отладки часто приходится включать/отключать разрешения. Заходить для этого каждый раз в настройки приложения не очень удобно. К счастью, это можно сделать с помощью adb:

    И еще несколько полезных команд, смысл которых ясен из названия:

    Перейдем к непосредственной реализации (предварительно не забудем обновить compileSdkVersion и targetSdkVersion до версии 23).

    До момента, когда Marshmallow станет минимальной версией андроида для ваших приложений, еще далеко, поэтому нужно позаботиться об обратной совместимости. Конечно, можно делать проверки версии sdk, но зачем, если все реализовано за нас в support library v4 (ActivityCompat) и v13 (FragmentCompat). Если все же вам понадобятся оригинальные методы, то найти их не составит труда.

    Во всех примерах используется ActivityCompat, так как они были сделаны для activity. Для fragment нужно использовать FragmentCompat. Если вы по какой-то причине не используете activity и fragment из support библиотек, то вам нужно реализовать интерфейс ActivityCompat.OnRequestPermissionsResultCallback или FragmentCompat.OnRequestPermissionsResultCallback соответственно.

    Каждый раз, когда мы хотим использовать метод, требующий опасного разрешения, необходимо проверить есть ли оно у нас. Для этого используем метод ContextCompat.checkSelfPermission(Context context, String permission), который возвращает нам одно из int значений: PackageManager.PERMISSION_GRANTED в случае если разрешение есть или PackageManager.PERMISSION_DENIED если его нет. Именем разрешения является одна из констант класса Manifest.permission.

    Далее, если разрешение есть, выполняем нужное нам действие, а если нет, то его нужно запросить. Одновременно можно запросить несколько разрешений (пользователю по очереди будет показан запрос на каждое из них), если это необходимо.

    Стоит упомянуть, что если разрешения находятся в одной permission group, то запросить достаточно одно из них, так как все остальные элементы этой группы станут также доступны. Но так делать не нужно. Потому что в будущем состав групп может поменяться, поэтому при запросе разрешений не нужно делать предположений относительно того находятся ли они в одной группе или нет.

    UPD будто в подтверждение предыдущего параграфа, начиная с Android 8.0 разрешения из одной permission group не выдаются сразу — каждое разрешение нужно запрашивать отдельно, но все разрешения из одной группы будут выданы автоматически, без участия пользователя при первом же их запросе.

    UPD2 это же поведение было замечено на Android 7.0 — если часть разрешений из группы выдана (не могу сказать с уверенностью, имеет ли значение какие именно), то остальные будут выдаваться по запросу сразу же без показа диалога. Это может вызвать проблемы, если ваше приложение объясняет пользователю зачем ей нужно то или иное разрешение еще до его запроса. В реальной жизни такое редко когда может возникнуть (только при использовании adb комманд), но стоит учитывать это при отладке приложения.

    Для запроса используется метод ActivityCompat.requestPermissions(Activity activity, String[] permissions, int requestCode). Массив permissions соответственно содержит названия разрешений, которые вы хотите запросить. Отсюда видно, что одновременно можно запрашивать несколько разрешений. requestCode — значение, по которому в дальнейшем можно будет определить, на какой запрос разрешения вам пришел ответ подобно тому как мы получаем результат от activity, используя startActivityForResult. Кстати, если посмотреть на код requestPermission, то обнаружится, что это всего лишь особая версия startActivityForResult.

    Как видите, напрямую запрашивать разрешения можно только из Activity или Fragment. Если разрешение требуется сервису, то придется запускать Activity, из которой уже можно будет сделать запрос. Лучше всего перед этим будет показать уведомление, содержащее информацию о недостающем разрешении с кнопкой для запуска этой самой Activity.

    Результат запроса разрешения следует обрабатывать в onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults). Параметры requestCode и permissions содержат данные, которые вы передавали при запросе разрешений. Основные данные здесь несет массив grantResults, в котором находится информация о том, получены разрешения или нет. Каждому i-му элементу permissions соответствует i-ый элемент из grantResults. Их возможные значения аналогичны результату checkSelfPermission.

    Размер массива grantResults проверяется для того, чтобы удостовериться, что запрос разрешения не был прерван (в этом случае permissions и grantResults не будут содержать элементов). Такую ситуацию следует рассматривать не как запрет разрешения, а как отмену запроса на него.

    Если вы ранее уже запрашивали разрешение, но пользователь отказался предоставить его, необходимо объяснить ему причину запроса. Этого не нужно делать, если причина, по которой вы запрашиваете разрешение, абсолютно ясна. Если же есть вероятность, что вопрос “А зачем приложению это нужно?” возникнет, то объяснить это крайне желательно. Для того чтобы узнать, нужно ли показывать объяснение есть метод shouldShowRequestPermissionRationale(@NonNull Activity activity, @NonNull String permission), который возвращает boolean. Само же объяснение можно реализовать, например, с помощью Snackbar с кнопкой действия, по клику на которой происходит запрос разрешения, или диалогового окна, если разрешение критично необходимо.

    Never ask again

    Одной из проблем может стать опция “Never ask again”, которая появляется при повторном запросе разрешения, после того как пользователь уже отказал ранее. Как видно из названия, при её выборе диалог запроса не будет больше появляться. shouldShowRequestPermissionRationale будет выдавать false, а в onRequestPermissionsResult будет получен результат PackageManager.PERMISSION_DENIED. И получим разрешение мы, только если включить его непосредственно через настройки приложения в разделе Permissions.

    Что с этим можно сделать? В первую очередь, конечно, сообщить пользователю, что для выполнения действия нет нужных прав. Далее возможным действием может быть предложение перейти в настройки и предоставить это разрешение вручную. Не лучший вариант, но лучше чем ничего. Реализовать это можно вновь с использованием Snackbar с кнопкой действия.

    Перейти непосредственно на страницу с разрешениями не получится, поэтому лучшее, что вы можете сделать, это открыть настройки своего приложения. После этого можно, например, показать Toast с информацией, что нужно сделать.

    В примере используются startActivityForResult и onActivityResult чтобы определить, что пользователь вернулся из activity настроек обратно в приложение и попробовать выполнить действие, которое нельзя было сделать без нужного разрешения. В методе showExtDirFilesCount нужно снова проверить есть ли разрешение для уверенности, что пользователь его все-таки выдал.

    Здесь может возникнуть ситуация, которая не особенно мешает, если вы используете Snackbar для показа rationale, но портит UX, если вы решили использовать диалоги (причины этого решения мы не затрагиваем). А именно двойное появление rationale, до запроса разрешения и после него. Как это может произойти? У нас всего два метода, по которым мы можем судить о состоянии разрешения. Проблема в том, что до запроса разрешения ситуация, когда мы еще никогда не запрашивали это разрешение, и ситуация, когда пользователь ранее выбрал “Never ask again”, абсолютно одинаковы по значениям. А именно checkSeflPermission возвращает нам PERMISSION_DENIED, a shouldShowRequestPermissionRationale — false. Значит, показывать диалог для открытия настроек мы будем в onRequestPermissionsResult, где значение shouldShowRequestPermissionRationale точно будет разным для этих двух ситуаций. Все отлично? Не совсем. В этом callback’e никак нельзя определить была ли показана rationale или нет. Поэтому если вы показываете причину запроса, а далее пользователь просит больше его не спрашивать об этом разрешении, после нажатия на кнопку DENY он получит очередной rationale диалог, приглашающий его в настройки программы. Хорошие программы так себя не ведут.

    Что делать в такой ситуации? В сети есть пара не очень красивых решений: одно из них — сохранять в SharedPreferences информацию о том имеется ли разрешение или нет, другое — хранить флаг о том была показана rationale или нет внутри класса. Первое решение не хорошо тем, что пока приложение не работает, пользователь может изменить настройки разрешений и информация в preferences будет неактуальной. Второй же способ не особо красивый.

    Хорошим вариантом (на мой взгляд) будет завести два requestCode для каждого запроса, один для использования в rationale другой в остальных случаях. Этот способ так же не идеален и не особенно красив, но помогает придерживаться существующих методов, не внося ничего нового.

    Intent

    Есть еще одна важная рекомендация при использовании runtime разрешений. Не используйте их. Точнее, используйте, но только тогда, когда функционал, который вы собираетесь реализовать с их помощью, не сделал уже кто-то до вас.

    В качестве самого показательного примера чаще всего вспоминают камеру. Используйте стандартное приложение камеры (или другие приложения, умеющие это делать), если вам нужно всего лишь сделать фотографию без какой-то особой логики. В этом вам помогут Intent’ы (подробнее).

    Таким образом, вы сможете избавиться от некоторых опасных разрешений и упростите работу с приложением.

    Источник

    Читайте также:  Как сделать библиотеку android studio
    Оцените статью