当前位置: 首页 > 知识库问答 >
问题:

没有方法com的签名。Android建筑格拉德尔。AppPlugin。getNdkFolder()

楮杰
2023-03-14

我在这个问题上找到了不同的答案,但对我来说没有用,所以我不确定我是否在什么地方添加了错误的内容。

错误:

Gradle同步失败:没有方法com的签名。Android建筑格拉德尔。AppPlugin。getNdkFolder()适用于参数类型:()值:[]

建筑gradle模块

apply plugin: 'com.android.application'
import org.apache.tools.ant.taskdefs.condition.Os
android {
    compileSdkVersion 21
    buildToolsVersion "21"
    defaultConfig {
        applicationId 'com.domain.game'
        minSdkVersion 11
        targetSdkVersion 11

        ndk {
            moduleName "cocos2dcpp_shared"
        }

        sourceSets.main {
            jni.srcDirs = []
            jniLibs.srcDir 'src/main/libs'
            java.srcDirs += '../../Classes'
            assets.srcDirs = ['../../Resources']
        }

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


task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
    def ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
    //def ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
    if(Os.isFamily(Os.FAMILY_WINDOWS))
        commandLine "${ndkDir}\\ndk-build.cmd",'-C', file('src/main/jni').absolutePath, '-j', Runtime.runtime.availableProcessors(), 'all'
    else
        commandLine "${ndkDir}/ndk-build",'-C', file('src/main/jni').absolutePath, '-j', Runtime.runtime.availableProcessors(), 'all'
}

task cleanNative(type: Exec, description: 'Clean JNI object files') {
    def ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
    if(Os.isFamily(Os.FAMILY_WINDOWS))
        commandLine "${ndkDir}\\ndk-build.cmd",'-C', file('src/main/jni').absolutePath, 'clean'
    else
        commandLine "${ndkDir}/ndk-build",'-C', file('src/main/jni').absolutePath, 'clean'
}

clean.dependsOn 'cleanNative'

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn buildNative
}


dependencies {
    compile project(':googleplayservices_lib')
    compile files('libs/OpenIAB-0.9.6-sync2.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/GiftizSDK_1.5.0.jar')
}

建筑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:2.3.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

gradle-wrapper.properties

#Thu Apr 06 06:38:18 BST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

任何帮助都将不胜感激。

谢啦

更新:

地方的属性

ndk.dir=C\:\\AndroidEclipse\\android-ndk-r10e
sdk.dir=C\:\\AndroidEclipse\\SDK

它在这一行失败def ndkDir=project.plugins.find插件('com.android.application'). getNdkFolder()

共有1个答案

史修谨
2023-03-14

使用plugins.get插件('com.android.application'). sdkHandler.ndk文件android.ndk目录代替。

 类似资料:
  • 错误:找不到方法com。Android建筑格拉德尔。api。BaseVariant。getOutputs()Ljava/util/List;'。此意外错误的可能原因包括: Gradle的依赖项缓存可能已损坏(这有时会在网络连接超时后发生。)重新下载依赖项和同步项目(需要网络) Gradle构建进程(守护进程)的状态可能已损坏。停止所有Gradle守护进程可以解决此问题。停止Gradle生成过程(需

  • 在执行和(为了防止我的应用程序应用一些第三方库的缓存版本而需要)后,我不能再构建我的应用程序,因为行 导致此错误的原因: 原因可能是什么?根据这个答案,我推断我的IS_CI_BUILD属性应该是布尔值,但每当我将其更改为或并尝试运行应用程序时,会弹出一个编辑配置对话框,我不确定该怎么办。

  • 我正在尝试让我现有的Android项目与渐变和智能J 12一起工作。以前,我曾让它与maven一起工作,但这似乎不像gradle那样灵活,而且据我所知,我需要的子文件夹更少。 我的Android项目分为干净的java库(:core)和实际的应用程序(:Android)。这两个项目都在我的主项目文件夹中。 我认为,用这个实现gradle工作的理想解决方案是将(:core)和(:android)项目视

  • 尝试调试应用程序时出现此错误 还更新了Gradle的这两个属性。属性 使用 执行任务失败:应用程序:check DebugDuplicateClass。 版本降级是唯一的解决办法吗? 非常感谢。

  • 使用Intellj使用最新版本的Micronaut创建新应用程序会在构建过程中引发异常。 gradle-wrapper.properties build.gradle

  • 我试图用我的gradle项目运行junit测试,但不管是什么测试,它们都会抛出以下堆栈跟踪 我已经看到了一些建议的解决方案,但似乎没有一个奏效。当我在ant中运行它们时,我的测试运行良好。我已经确保xerces使用的是最新版本,我还添加了建议的版本 对于JVM,但似乎什么都不起作用。 任何建议都将不胜感激。我可以根据要求提供更多信息。 **更新** 做了以下更改- 但现在的结果如图所示 **更新2