ChatGPT解决这个技术问题 Extra ChatGPT

com.android.ddmlib.InstallException:无法建立会话 react-native

我正在尝试在我的 nexus5 模拟器中运行 react-native android 应用程序

adb devices
List of devices attached
emulator-5554   device

已启动打包程序 react-native start

正在运行的应用程序 - react-native run-android

在 'reactnative(AVD) - 6.0' 上安装 APK 'app-debug.apk' 无法安装示例/android/app/build/outputs/apk/app-debug.apk

com.android.ddmlib.InstallException: Failed to establish session
        at com.android.ddmlib.Device.installPackages(Device.java:894)
        at com.android.builder.testing.ConnectedDevice.installPackages(ConnectedDevice.java:113)
        at com.android.builder.testing.ConnectedDevice$installPackages$0.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
        at com.android.build.gradle.internal.tasks.InstallVariantTask.install(InstallVariantTask.groovy:119)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226)
请注意,react-native run-android 也会启动打包程序,无需手动启动。
我通过简单地创建一个新的 android 虚拟设备解决了这个问题。不完全确定是什么原因造成的。

B
Bhargav Rao

对于小米设备

对于那些受此困扰的人,请尝试 lironess 在 Github Comment 中提到的内容

开启开发者模式 - 在你的手机中,进入设置,关于手机,然后点击 MIUI 版本 7 次。您会看到一个弹出窗口,说明您现在是开发人员。返回设置,附加设置,开发人员选项并启用USB调试。将您的手机连接到您的 PC/Mac 并在手机上授权您的计算机返回开发人员选项,向下滚动找到打开 MIUI 优化并将其禁用。您的手机将重新启动立即尝试 :)


B
Badis Merabet

尝试:react-native run-android --deviceId YOUR_ID


M
Martin Konicek

众所周知,adb 是片状的。尝试:

使用 $ adb kill-server 重新启动 adb

重启模拟器

使用 Genymotion 而不是库存的 Google 模拟器。


@invariant Genymotion 是否支持谷歌播放服务
E
Edward Tan

对于您的 AVD 模拟器设置,请尝试确保选中“使用主机 GPU”设置,然后重新启动模拟器并重试。


对我来说 - 我能够在没有主机 GPU 的情况下完成这项工作(事实上,我必须打开软件渲染才能让模拟器启动,这可能是由于我的旧显卡/驱动程序)。我也遇到了这个错误,但事实证明我没有足够的耐心 - 模拟器需要很长时间才能完成,一旦它完成(即手机显示其“桌面”)然后 react-native 能够安装建造
m
max

就我而言,我必须在 /sdklocation/platform-tools/ 中运行此命令

 adb kill-server

然后再次运行并观察手机上的安装请求。希望这对某人有所帮助


C
Cosmitar

对于像我这样在模拟器中遇到此问题的人,还有一个提示:尝试释放模拟器中的可用存储空间。这对我有用。

安装了如此多的测试应用程序和以前开发的应用程序 XD


是的,存储空间不足也对我造成了这个错误。编辑模拟器并添加更多内存解决了这个问题。
同样在这里,就我而言,只是真实设备上的存储空间已满。
C
Codemaker

如果您的设备或模拟器有一个与您正在构建的应用程序同名的应用程序。只需删除旧的。它将解决问题。


K
Khalid Ahmada

如果您已经在设备上安装了应用程序,请删除它。这对我有用


R
Rafael Tavares

只需转到开发人员选项并在调试选项下启用通过 USB 安装。


T
Thanmai C

即使我遇到了同样的问题,但重新启动 genymotion 并运行“react-native run-android”再次对我有用。在运行上述命令之前确保 genymotion 正在运行。


D
Daggie Blanqx - Douglas Mwangi

可能的原因

我最近遇到了这个问题,我首先在 CordovaJS 中开发了一个名为“myApp”的应用程序,其中应用程序域是 com.myapp 并安装了它(这是我开始做出反应的几个月前)。然后,当我切换到 react-native 时,我做了一个域 com.myapp 的应用程序并遇到了同样的问题。

所以我发现在 domain 和 source 方面存在冲突。

解决方案 :

卸载与您正在安装的应用程序具有相似域的应用程序,例如 com.example,然后重新启动您的手机。

它对我有用,我希望它也对你有用。


R
Rumesh Madushanka

01 - 卸载安装在设备中的应用程序

03-然后运行

adb 杀死服务器

02 - 然后再次运行

react-native run-android


A
Aishwarya Mundada

这个问题恰好出现在小米设备上。在开发者选项中,您不必禁用 MIUI 优化(禁用此选项不会同步您的帐户),而是启用“USB 调试”选项以及“通过 USB 安装”和“USB 调试(安全设置)”。这将解决问题:)


S
Sanakhatun Shaikh
Sometimes it may happened due to insufficient storage within emulator.Try something like below:
   1. Stop emulator
   2. Open AVD Manager -> Wipe Data
   3. Start emulator and run your project.

ß
ßãlãjî

步骤:1 运行(杀死所有 adb)

 adb kill-server

第 2 步:列出所有连接的设备(获取您的模拟器 ID)

adb devices 

第 3 步:(将 ID 替换为第 2 步中列出的 ID)

react-native run-android --deviceId ID

注意:确保在您的模拟器或物理设备中卸载您以前的应用程序


D
Dung Nguyen

在 MI 设备中。我通过转到开发人员选项-> 打开通过 USB 安装来解决这个问题。我希望它有用!