相关疑难解决方法(0)

在Android Studio中运行Robolectric测试时如何调试?

我需要在Android Studio + Robolectric中执行测试时运行调试.每次我试图通过选择运行它们debugtest从摇篮任务,我得到错误信息的任务:

运行package_name时出错:app_name [test]:无法打开调试器端口:java.net.SocketException"Socket closed"

有任何想法吗?

debugging android gradle robolectric android-studio

40
推荐指数
1
解决办法
1万
查看次数

无法打开调试器端口:java.net.SocketException"Socket closed"

我正在使用Android Studio,使用Gradle有多种风格,每种风格都有一个调试和发布类型,如下所示进行组织,在下半部分.当我尝试启动调试器时,我收到此错误:

Error running androidRecover [installAppDebug]: Unable to open debugger port :     java.net.SocketException "Socket closed
Run Code Online (Sandbox Code Playgroud)

一旦它运行,我也无法将调试器连接到我的设备(它只显示我的手机的名称,而不是应用程序).

所有3种口味都安装在我的手机上就好了.我无法让它让我调试它们.我还测试了在Nexus平板电脑上附加调试器,我得到了相同的结果.

这不是Gradle特别是作为一个整体因为我可以运行其他基于Gradle的应用程序并附加调试器就好了所以我想知道它是否与我如何设置我的Gradle项目和设置有关.

这是我的build.gradle:

apply plugin: 'android'
apply from: 'signing.gradle'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile
                     ('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    productFlavors {
        flav1 {
            packageName "com.ex.flav1"
            versionCode 32
            versionName "1.0.5"
            signingConfig signingConfigs.flav1
        }

        flav2 {
            packageName "com.ex.flav2"
            versionCode 33
            versionName "1.0.6"
            signingConfig signingConfigs.flav2
        }

        flav3 {
            packageName "com.ex.flav3" …
Run Code Online (Sandbox Code Playgroud)

debugging android android-studio android-gradle-plugin

21
推荐指数
2
解决办法
4万
查看次数