这是一个模块,子项目,图书馆项目还是别的什么?

时间:2015-06-10 20:23:01

标签: android android-studio

我正在尝试在我的项目中安装Android-GPU-Image。 https://github.com/CyberAgent/android-gpuimage

当我下载源代码时,它会按原样分解:

enter image description here

github项目不包含安装说明(除了对我不起作用的依赖行),所以我试图弄清楚如何安装这样的包。

我的问题是:将'android-gpuimage'文件夹添加到项目中的一般名称是什么?这是一个模块,子项目,图书馆 - 项目还是什么?

更新

这是我的gradle文件

import java.util.regex.Pattern

apply plugin: 'android'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.1'
    }
}

project.ext {
    multiarch = false
    compileSdkVersion = Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
    minSdkVersion = Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
    targetSdkVersion = Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
    buildToolsVersion = project.ANDROID_BUILD_TOOLS_VERSION
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3'
    compile project(':CordovaLib')
    compile project(':app-FacebookLib')
    compile files('libs/universal-image-loader-1.9.3.jar')
    compile files('libs/twitter4j-core-4.0.3.jar')
    compile files('libs/twitter4j-core-4.0.4-SNAPSHOT.jar')
    compile files('libs/Filters.jar')
}

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

    defaultConfig {
        versionCode Integer.parseInt("" + getVersionCodeFromManifest() + "0")
    }

    compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
    buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION

    if (multiarch || System.env.BUILD_MULTIPLE_APKS) {
        productFlavors {
            armv7 {
                versionCode defaultConfig.versionCode + 2
                ndk {
                    abiFilters "armeabi-v7a", ""
                }
            }
            x86 {
                versionCode defaultConfig.versionCode + 4
                ndk {
                    abiFilters "x86", ""
                }
            }
            all {
                ndk {
                    abiFilters "all", ""
                }
            }
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

}

task wrapper(type: Wrapper) {
    gradleVersion = '1.12'
}

def getVersionCodeFromManifest() {
    def manifestFile = file(android.sourceSets.main.manifest.srcFile)
    def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
    def matcher = pattern.matcher(manifestFile.getText())
    matcher.find()
    return Integer.parseInt(matcher.group(1))
}

答案:

需要添加

repositories {
    mavenCentral()
}

在我的Gradle中,我已经拥有的那个是在构建脚本中,我也需要它在该范围之外。

https://stackoverflow.com/a/16675271/3324388

1 个答案:

答案 0 :(得分:1)

你从github中检查的是整个项目,它包含了库项目和一个展示如何使用库的示例项目。

要使用该库,您必须在gradle中包含依赖项,如上所述

 dependencies {
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3'
}

gradle文件可让您知道它是什么类型的项目 例如,一个图书馆项目将

apply plugin: 'com.android.library'

主应用程序项目

apply plugin: 'com.android.application'