Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SecurityException during app:installDebug Task while attempting to run react-native app on MI MAX 2 android device

Running npx react-native run-android is working on the android emulator, and also on a Samsung device I have. But when connecting a MI MAX 2 device, I get the following:

> Task :app:installDebug Installing APK 'app-debug.apk' on 'MI MAX 2 - 7.1.1' for app:debug  > Task :app:installDebug FAILED  Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings 847 actionable tasks: 2 executed, 845 up-to-date Unable to install /Users/[....]/android/app/build/outputs/apk/debug/app-debug.apk com.android.ddmlib.InstallException: Unknown failure: Error: java.lang.SecurityException: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag         at com.android.ddmlib.internal.DeviceImpl.installRemotePackage(DeviceImpl.java:1224)         at com.android.ddmlib.internal.DeviceImpl.installPackage(DeviceImpl.java:1050)         at com.android.ddmlib.internal.DeviceImpl.installPackage(DeviceImpl.java:1026)         at com.android.ddmlib.internal.DeviceImpl.installPackage(DeviceImpl.java:1015)         at ... etc, etc, etc  FAILURE: Build failed with an exception.  * What went wrong: Execution failed for task ':app:installDebug'. > java.util.concurrent.ExecutionException: com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Unknown failure: Error: java.lang.SecurityException: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag  * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.  * Get more help at https://help.gradle.org  BUILD FAILED in 30s  error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details. Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=4105 Unable to install /Users/[....]/android/app/build/outputs/apk/debug/app-debug.apk 

Note: I tried adding the following to my AndroidManifest.xml but it didn't appear to make a difference:

<uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"/> 

Any ideas?

like image 581
Daniel Loiterton Avatar asked Nov 11 '20 13:11

Daniel Loiterton


2 Answers

Ensure that all three

  1. Developer Options -> USB debugging
  2. Developer Options -> USB debugging (Security settings)
  3. Developer Options -> Install via USB

are turned on

like image 159
Muhammed Yasir MT Avatar answered Sep 17 '22 17:09

Muhammed Yasir MT


I could fix it on a MI POCO F2 Pro enabling Developer Options -> USB debugging (Security settings) option.

like image 39
Leo2705 Avatar answered Sep 21 '22 17:09

Leo2705