【问题标题】:Android Studio - MonkeyTalk Integration - IssuesAndroid Studio - MonkeyTalk 集成 - 问题
【发布时间】:2023-03-24 02:57:01
【问题描述】:

我在格式化帖子时遇到问题。有人可以相应地编辑帖子。非常感谢您的帮助。

也发现了一个类似的问题-here

我正在尝试集成 MonkeyTalk 和 Android Studio。我正在关注this 链接。当我尝试在 app 文件夹中同步 build.gradle 文件时,出现以下错误:

Error:(37, 0) Gradle DSL method not found: 'monkeytalkCompile()'
Possible causes:<ul><li>The project 'MonkeyTalkTest' may be using a version of Gradle that does not contain the method.
<a href="openGradleSettings">Gradle settings</a></li><li>The build file may be missing a Gradle plugin.
<a href="apply.gradle.plugin">Apply Gradle plugin</a></li>

这是我到目前为止所做的:(作为上面链接的步骤)

步骤:

  1. 我已经有一个正在运行的 android studio 项目(示例)并从网站下载 MonkeyTalkIDEProfessional。

  2. 在“app”文件夹中创建文件夹“monkey-libs”并将“monkeytalk-agent-2.0.10.jar”文件添加到该目录。

  3. 在“app”文件夹内的 build.gradle 文件中添加了以下内容。

    构建脚本 {
    存储库 {
    mavenCentral()
    }
    依赖{
    类路径 'com.uphyca.gradle:gradle-android-aspectj-plugin:0.9.5'
    }
    }

  4. 在 'app' 文件夹内的 build.gradle 中添加了以下行:apply plugin: 'android-aspectj'

  5. 再次将以下代码添加到'app'文件夹内的build.gradle:

    依赖{
    编译 fileTree(dir: 'libs', include: ['.jar'])
    monkeytalkCompile fileTree(dir: 'monkey-libs', include: ['
    .jar'])
    }

  6. 在 'src' 文件夹中创建了一个文件夹 'monkeytalk' 并使用以下代码添加 AndroidManifest.xml 文件:

    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    

  7. 此时我正在尝试同步 build.gradle 文件,但我收到了前面提到的错误。

我怎样才能克服这个错误?

编辑:

build.gradle 文件:在 app 文件夹中

apply plugin: 'com.android.application'
apply plugin: 'android-aspectj'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.uphyca.gradle:gradle-android-aspectj-plugin:0.9.5'
    }
}



android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc3"

    defaultConfig {
        applicationId "examplepackage.com.monkeytalktest"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    monkeytalkCompile fileTree(dir: 'monkey-libs')
}

编辑 2:

顶级 build.gradle 文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

项目结构:

编辑 3:

我按照this 链接更改了“app”文件夹中的build.gradle 文件,如下所示。现在同步工作正常。当我尝试执行 ./gradlew clean installMonkeyTalk 时,出现下图中的错误。

build.gradle 文件

apply plugin: 'com.android.application'
apply plugin: 'android-aspectj'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.uphyca.gradle:gradle-android-aspectj-plugin:0.9.5'
    }
}



android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc3"

    defaultConfig {
        applicationId "examplepackage.com.monkeytalktest"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        monkeytalk.initWith(buildTypes.debug)
        monkeytalk {
            applicationIdSuffix ".monkey"
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    //monkeytalkCompile fileTree(dir: 'monkey-libs')
    monkeytalkCompile(files("monkey-libs/monkeytalk-agent-2.0.10.jar"))
}

现在,我收到以下错误:

【问题讨论】:

    标签: android testing android-studio automated-tests monkeytalk


    【解决方案1】:

    我也遇到了同样的问题并使用了不同的 AspectJ 插件而不是 uphyca。 不同的 AspectJ 插件位于:https://github.com/leolin310148/GradleAndroidAspectJPlugin

    它在 build.gradle 文件中的用途:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.+'
            classpath 'me.leolin:android-aspectj-plugin:1.0.7'
        }
    }
    
    apply plugin: 'com.android.application'
    apply plugin: 'me.leolin.gradle-android-aspectj'
    

    更新您的 build.gradle 文件以尝试此解决方案并让我知道它是否有效。因为它对我有用。

    一切顺利!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多