Gradle无法找到插件

时间:2017-10-11 01:18:41

标签: android gradle android-gradle

我正在尝试将外部库导入我的应用程序,该库是FFmpeg。这是指向module的链接。

我将库添加到我的libs文件夹(下载后),然后从File&gt;新&gt; <导入模块>选择FFmpeg。现在在我的应用程序内构建gradle我添加了行

compile project(':FFmpeg')

现在,当我尝试同步项目时,我收到此错误:

  

错误:(2,0)带有id&#39; com.github.dcendents.android-maven&#39;的插件没找到。

当我打开文件时,这是受影响的行

  

申请插件:&#39; com.github.dcendents.android-maven&#39;

基本上我的最终目标是将上面的lib作为外部库放入我的项目中,这样我就可以修改源代码来修复库中的一些错误。

非常感谢任何帮助,我一直试图解决这个问题很长一段时间,但除了使用依赖项之外我对Gradle也不太好。

更新1

应用问题现已修复,但无法找到版本名称和rootProject.ext.compileSdkVersion等变量作为整数

  

错误:(6,0)无法获取未知属性&#39; VERSION_NAME&#39;对于项目&#39;:FFmpegAndroid&#39;类型为org.gradle.api.Project。

2 个答案:

答案 0 :(得分:1)

您需要将插件添加到类路径根build.gradle中。您可以在Gradle Android Maven plugin中找到它。像这样:

buildscript {
  repositories {
    jcenter()
    mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'
    // This is the classpath for the plugin
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
  }
}

allprojects {
  repositories {
    jcenter()
  }
}

<强>更新:

您应该查看ffmpeg android gradle.properties并将其添加到您的根项目中,这里是:

VERSION_NAME=0.3.2
VERSION_CODE=28
GROUP=com.writingminds

POM_DESCRIPTION=Java implementation of ffmpeg for Android
POM_URL=https://github.com/writingminds/ffmpeg-android-java
POM_SCM_URL=https://github.com/writingminds/ffmpeg-android-java.git
POM_SCM_CONNECTION=scm:https://github.com/writingminds/ffmpeg-android-java.git
POM_SCM_DEV_CONNECTION=scm:https://github.com/writingminds/ffmpeg-android-java.git
POM_LICENCE_NAME=GNU GPLv3
POM_LICENCE_URL=https://github.com/writingminds/ffmpeg-android-java/blob/master/LICENSE.GPLv3
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=hiteshsondhi88
POM_DEVELOPER_NAME=Hitesh Sondhi

Ffmpeg Android build.gradle中需要VERSION_NAME:

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: "com.jfrog.bintray"

// This is the library version used when deploying the artifact
version = VERSION_NAME

...

<强>通知:

最好将ffmpeg-android-java作为独立项目运行,然后对其进行配置,以便将其安装到本地maven。请在我的回答https://stackoverflow.com/a/46330142/4758255

上阅读详细信息

答案 1 :(得分:0)

您必须在buildscript块中添加插件。您可以添加顶级build.gradle文件或module/build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        //..current plugins
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
    }
}

关于未找到的变量,您必须在github

上查看库中的build.gradle

您必须在项目中定义这些变量。当然要用你的价值观。

ext {
    compileSdkVersion = 22
    buildToolsVersion = '22.0.1'
    targetSdkVersion = 22
    minSdkVersion = 16
    versionCode = 28
    versionName = "0.3.2"
}