尝试在 MI MAX 2 android 设备上运行本机应用程序时应用程序安装调试任务期间出现安全异常

Dan*_*ton 33 android gradle react-native

Runningnpx react-native run-android正在 android 模拟器上运行,也在我拥有的三星设备上运行。但是当连接 MI MAX 2 设备时,我得到以下信息:

> 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
Run Code Online (Sandbox Code Playgroud)

注意:我尝试将以下内容添加到我的AndroidManifest.xml但似乎没有任何区别:

<uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"/>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Muh*_* MT 77

确保两者

  1. 开发者选项 -> USB 调试
  2. 开发者选项 -> USB 调试(安全设置)

已开启

  • 确保在开发者选项中打开“通过 USB 安装” (5认同)
  • 天哪,为什么还有两个USB调试 (3认同)

小智 22

我可以在 MI POCO F2 Pro 启用Developer Options->USB debugging (Security settings)选项上修复它。

  • @DanielLoiterton 您是否启用了两个选项(“USB 调试”和“USB 调试(安全设置)”)? (2认同)

小智 12

在我的小米红米 Note 7 上,我必须打开另一个选项,称为“USB 调试(安全设置)”。

它位于“USB 调试”选项下方不远处。