尝试在 MI MAX 2 android 设备上运行 react-native 应用程序时应用程序期间出现 SecurityException:installDebug 任务
Posted
技术标签:
【中文标题】尝试在 MI MAX 2 android 设备上运行 react-native 应用程序时应用程序期间出现 SecurityException:installDebug 任务【英文标题】:SecurityException during app:installDebug Task while attempting to run react-native app on MI MAX 2 android device 【发布时间】:2021-02-23 11:23:54 【问题描述】:Running npx react-native run-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
注意:我尝试将以下内容添加到我的 AndroidManifest.xml
,但似乎没有什么不同:
<uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"/>
有什么想法吗?
【问题讨论】:
你能分享你的 AndroidManifest 文件 > 权限部分吗? 嗨@HendEl-Sahli - 我更新了我的问题,回复:AndroidManifest 权限 【参考方案1】:我可以在启用 Developer Options
-> USB debugging (Security settings)
选项的 MI POCO F2 Pro 上修复它。
【讨论】:
我已经在两个设备上启用了 USB 调试。可惜还是没有爱 @DanielLoiterton 您是否启用了两个选项(USB debugging
和 USB debugging (Security settings)
)?【参考方案2】:
确保所有三个
-
开发者选项 -> USB 调试
开发者选项 -> USB 调试(安全设置)
开发者选项 -> 通过 USB 安装
已开启
【讨论】:
我的天啊,为什么连两个USB都在调试 确保“通过 USB 安装”在开发者选项中打开【参考方案3】:从开发者选项中启用 USB 调试(安全设置)。如果手机没有插入 SIM 卡,它会要求您插入 SIM 卡。
【讨论】:
【参考方案4】:在我从我的 MI 设备中删除 SIM card
后,我遇到了这个问题。
从那以后我不能再接受 USB 调试(安全设置)了..
【讨论】:
【参考方案5】:解决方案:我已经尝试过了,我插入了我的 SIM 卡并插入了开发人员选项 -> USB 调试(安全设置)和 USB 调试 - 两者都打开但在我的设备中我仍然面临同样的问题,然后我激活了:通过安装USB - 打开。现在它工作正常,我猜我的 REDMI 设备有这个附加选项,其他手机可能没有。
此网页具有运行 Appium 的所有相关功能: http://appium.io/docs/en/writing-running-appium/caps/index.html 在我的功能部分,我还为实际设备添加了 2 个新功能并导入了一个库:
import io.appium.java_client.android.appmanagement.*;
DesiredCapabilities cap= new DesiredCapabilities();
cap.setCapability("autoGrantPermissions", "true");
cap.setCapability("enforceAppInstall", "true");
【讨论】:
如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review 这是我提供的解决方案,我解决问题的方式 通过 USB 安装在所有 Redmi 设备中都可用,并且是任何应用安装以及正常 USB 调试所必需的。只有当您需要通过 USB 模拟手势、更改设置和授予权限时,您才需要进行安全设置。【参考方案6】:在我的小米红米 Note 7 上,我不得不打开另一个名为“USB 调试(安全设置)”的选项。
它位于“USB 调试”选项下方不远处。
【讨论】:
@thanks dude 对小米 Redmi 7a 的工作就像一个魅力以上是关于尝试在 MI MAX 2 android 设备上运行 react-native 应用程序时应用程序期间出现 SecurityException:installDebug 任务的主要内容,如果未能解决你的问题,请参考以下文章