在Android中将Appium集成后无法构建项目(编译无法完成)

时间:2018-07-28 11:14:17

标签: java android appium appium-android rebuild

将Appium UI测试集成到Android项目中后,我无法构建项目。

使用Linux和Appium Client 1.8.1和Android仿真器进行测试。

我能够在模拟器上运行测试。它从一个屏幕到另一个屏幕测试我的UI代码,并且测试同样通过。 但是现在的问题是,当我去更新代码以给资源分配ID时。当我再次运行测试时。用户界面未更新。我认为该版本在移动设备中较旧。我首先必须重建我的项目并在模拟器上运行新的APK,否则它将在测试中也使用新的APK。

因此,当我去构建或运行应用程序时。我有问题。 虽然我仍然要运行测试。它有效,但是在以前的apk上。

首先我遇到了这个问题

  

发现多个文件具有与操作系统无关的路径   'META-INF / DEPENDENCIES'

要解决此问题

  

packagingOptions {          排除“ META-INF / DEPENDENCIES”}

那之后,我再次运行后遇到了这个问题

  

发现多个文件具有与操作系统无关的路径   'scripts / get_path_to_default_node.sh'

所以我在包装选项中添加了这一行,从而解决了此问题

  

排除“ scripts / get_path_to_default_node.sh”

然后遇到了这个问题

  

发现多个文件具有与操作系统无关的路径   'scripts / getExe.js'

要解决此问题,我在包装选项中添加了此行,使其看起来像

packagingOptions {
       exclude 'META-INF/DEPENDENCIES'
       exclude 'scripts/get_path_to_default_node.sh'
       exclude 'scripts/getExe.js'    }

那之后我遇到了这个问题

  

编译失败

当我探索这一点时,这些行会以结尾或错误出现:

  

失败:构建失败,并出现异常。

     
      
  • 出了什么问题:任务':app:transformClassesWithDexBuilderForDebug'的执行失败。

         
        

    com.android.build.api.transform.TransformException:com.android.builder.dexing.DexArchiveBuilderException:     com.android.builder.dexing.DexArchiveBuilderException:失败     处理     /home/user/Git/project/app/libs/java-client-6.1.0.jar

      
  •   
  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。

  •   
  • https://help.gradle.org

  • 获得更多帮助   
     

在15秒钟内失败了39项可执行任务:已执行20项,最新19项

在错误的地方帮我。我在堆栈溢出尝试这里的每个解决方案。 我想运行该应用程序,因此Appium测试也可以正常运行。

对于参考,这是我的build.gradle文件

buildscript {
    repositories {
        mavenCentral()
        mavenLocal()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://plugins.gradle.org/m2/" }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
        classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.12"
    }
}

plugins {
    id "net.ltgt.errorprone" version "0.0.12"
}

apply plugin: 'com.android.application'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

apply plugin: 'io.fabric'
apply plugin: "net.ltgt.errorprone"
apply plugin: 'checkstyle'
apply plugin: 'findbugs'
apply plugin: 'pmd'

android {
    compileSdkVersion 26
    buildToolsVersion '27.0.3'

    lintOptions {
        abortOnError false
    }

    defaultConfig {
        applicationId "com.my.app"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main { java.srcDirs = ['src/main/java', 'src/main/java/com/my/app/database'] }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'scripts/get_path_to_default_node.sh'
        exclude 'scripts/getExe.js'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }

        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }

        maven { url "https://jitpack.io" }
    }
}

dependencies {
    implementation 'junit:junit:4.12'
    implementation('com.twitter.sdk.android:twitter:2.0.0@aar') {
        transitive = true;
    }
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:26.0.2'
    implementation 'com.android.support:design:26.0.2'
    implementation 'com.android.support:support-v4:26.0.2'
    implementation 'com.facebook.android:facebook-android-sdk:4.+'
    implementation 'com.github.filippudak.progresspieview:library:1.0.+'
    implementation 'com.github.dmytrodanylyk.android-process-button:library:1.0.0'
    implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation 'com.github.scottyab:showhidepasswordedittext:0.8'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
    implementation 'com.github.aakira:expandable-layout:1.6.0@aar'
    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    }
    implementation 'com.shawnlin:number-picker:2.4.4'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
        transitive = true;
    }
    implementation 'net.zetetic:android-database-sqlcipher:3.5.9@aar'
    implementation 'io.appium:java-client:4.0.0'
    implementation files('libs/java-client-6.1.0.jar')
    implementation files('libs/selenium-java-3.13.0.zip')
}

0 个答案:

没有答案