2

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

还发现了一个类似的问题问题 -这里

我正在尝试集成 MonkeyTalk 和 Android Studio。我正在关注这个链接。当我尝试在 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 文件中添加了以下内容。

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

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

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

    依赖项{
    编译文件树(目录:'libs',包括:['. jar'])
    monkeytalkCompile fileTree(目录:'monkey-libs',包括:['.
    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:

我按照此链接更改了“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"))
}

现在,我收到以下错误:

在此处输入图像描述

4

1 回答 1

0

我也遇到了同样的问题并使用了不同的 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 文件以尝试此解决方案并让我知道它是否有效。因为它对我有用。

一切顺利 !!

于 2015-09-22T14:08:24.453 回答