【问题标题】:Gradle: Error while uploading app-local-debug.apk : Unknown failure ([CDS]close[0])Gradle:上传 app-local-debug.apk 时出错:未知故障([CDS]close[0])
【发布时间】:2016-09-15 19:30:05
【问题描述】:

我正在尝试使用 gradlew cAT 命令在我的 android 手机上执行连接的 android 测试。但我得到以下错误日志,它无法安装应用程序。

  • 如果使用 adb 命令,则会安装应用程序。

  • 上述命令适用于 OnePlusOne 手机,但不适用于联想和华硕

错误日志如下:

Unable to install /home/admin/MyApp/app/build/outputs/apk/app-local-debug.apk
com.android.ddmlib.InstallException: Failed to install all 
        at com.android.ddmlib.SplitApkInstaller.install(SplitApkInstaller.java:91)
        at com.android.ddmlib.Device.installPackages(Device.java:901)
        at com.android.builder.testing.ConnectedDevice.installPackages(ConnectedDevice.java:119)
        at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:121)
        at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:48)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

【问题讨论】:

    标签: android gradle android-gradle-plugin automated-tests android-espresso


    【解决方案1】:

    这恰好是大多数中国制造手机的常见问题。问题在于您的 gradle-plugin 依赖项,有两种方法可以解决它。


    选项 1:降级您的 gradle 版本。

    第 1 步:转到第 8 行的 sampleProject/android/build.gradle 并将类路径修改为 com.android.tools.build:gradle:1.2.3 或 1.2.1。

    步骤2:在第5行转到sampleProject/android/gradle/wrapper/gradle-wrapper.properties并将distributionUrl修改为@987654321@


    选项 2:手动安装

    第 1 步:在 sampleProject/android/app/build/outputs/apk 找到 app-debug.apk。

    步骤2:复制并粘贴到手机中的任何文件夹中,然后单击安装。

    第 3 步:摇晃手机以显示设置,点击 Dev Settings 然后点击 Debug Server host & port for device 并使用您的 IP 地址进行配置(192.168.xx.xx: 8081)。

    启动您的 react-native 服务器和 viola,您已启动并运行!!!

    编辑!!!!!!!!!

    执行上面列出的任何一个选项都变得非常累人和令人沮丧,我找到了另一种解决方案。


    选项 3:添加设备 ID

    第 1 步:确保您的设备已连接,然后运行 ​​adb devices。从输出中,获取设备 ID H80xxxxxx。

    第二步:运行react-native run-android --deviceId H80xxxxxx

    注意:我个人现在每次出现错误时都会使用选项 3!

    【讨论】:

    • 第一个选项对我有用,但你也需要运行这个命令:cd android && gradlew clean && cd .. && react-native run-android
    【解决方案2】:

    使用adb devices检查您的手机是否正确

    如果是,请尝试使用adb 在您的手机上安装应用程序,如果它已安装并且运行良好,则比使用./gradlew connectedAndroidTest(在 linux 上)运行测试。

    根据问题:https://github.com/facebook/react-native/issues/2720

    这可能是 Gradle 插件版本的问题,所以如果您仍然遇到问题,请降级您的 gradle-plugin 依赖项。

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      问题是因为您可能有connected both Emulator & Real device。删除一个你应该很好去。

      由于我在移除我的真实设备后遇到了同样的问题,它修复了错误。

      【讨论】:

        【解决方案4】:

        我从我的设备上卸载了 apk。之后我的问题得到了修复。

        【讨论】:

          【解决方案5】:

          我也有同样的问题。 我的解决方案:手动删除app-local-debug.apkapp-debug.apk文件,然后再次运行

          【讨论】:

            猜你喜欢
            • 2017-01-03
            • 1970-01-01
            • 1970-01-01
            • 2018-09-21
            • 2019-06-08
            • 2023-04-09
            • 2017-02-04
            • 1970-01-01
            • 2012-02-15
            相关资源
            最近更新 更多