2017-10-11 156 views
0

我想將外部庫導入到我的應用程序中,庫是FFmpeg。這是一個鏈接到moduleGradle找不到插件

我將庫添加到我的libs文件夾(下載之後),然後從文件>新建>導入模塊>選擇FFmpeg。現在,在我的應用程序建立gradle這個我添加行

compile project(':FFmpeg')

現在,當我嘗試和同步的項目中,我得到這個錯誤:

Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found.

當我打開該文件,這是受影響的行

apply plugin: 'com.github.dcendents.android-maven'

基本上我的最終目標是得到上面的lib放到我的項目作爲外部庫,所以我可以修改源代碼到L內修復了一些bug ibrary。

非常感謝任何幫助,我一直試圖解決這個問題很長一段時間,但除了使用依賴關係之外,我對Gradle並不太滿意。

更新1

現在申請問題但是固定它不能找到喜歡的版本名稱和rootProject.ext.compileSdkVersion變量作爲整數

Error:(6, 0) Could not get unknown property 'VERSION_NAME' for project ':FFmpegAndroid' of type org.gradle.api.Project.

回答

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的機器人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 

需要的VERSION_NAME在Ffmpeg中Android build.gradle

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

+0

喜這個工作解決問題申請,但現在它無法找到該版本名稱或任何其他屬性,請看看最新的問題 – RedGooseMental

+0

爲什麼它會更好,因爲Maven的運行?謝謝 – RedGooseMental

+0

因爲您會將ffmpeg庫的問題隔離到您的代碼中。想象一下,如果圖書館因錯誤或改進而更新。你如何反映你的代碼更新?如果直接將該庫作爲模塊包含在內,則需要重新集成該庫,這很乏味且容易出錯。 –

0

您必須在buildscript區塊中添加插件。您可以在頂級build.gradle文件或添加module/build.gradle

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

關於變量沒有找到您要檢查build.gradle在圖書館上github

你在你的項目中定義這些變量。當然要用你的價值觀。

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

請看更新的問題 – RedGooseMental

+0

@RedGooseMental檢查答案 –