Android Studio:图书馆无法识别Android API

时间:2014-05-31 17:14:05

标签: gradle android-studio

我正在尝试将this库添加到我的项目中。我将GitHub中的文件放在我项目默认模块文件夹下的libraries目录中。

当我第一次添加库时,在我将文件夹结构从httpzoid/src/更改为httpzoid/src/main/java之前,我的项目无法识别它。

此时我可以从库中导入类。唯一的问题是,图书馆无法识别android.content.Context等Android组件,因此它基本上无法正常工作。

1 个答案:

答案 0 :(得分:2)

项目没有Ant或Gradle构建文件,因此需要创建一个。

首先,您需要删除local.properties,因为它引用了开发人员本地sdk目录。然后在projects目录中创建一个名为build.gradle的文件,其中包含以下内容。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

apply plugin: 'android-library'

android {

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }

    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    lintOptions {
        abortOnError false
    }

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
}

dependencies {
    compile 'com.google.code.gson:gson:2.2.4'
}

然后在命令行中转到项目根目录并运行“gradle build”。这将在项目build / libs目录中生成文件“Httpzoid.aar”。将此文件复制到主项目的libs文件夹中。

现在,您可以通过修改项目的build.gradle文件并添加以下内容将其添加为依赖项:

dependencies {
    repositories {
        flatDir {
            dirs 'libs'
        }
    }

    compile(name:'Httpzoid', ext:'aar')
}

顺便说一下,您是否考虑过使用RetrofitIon作为备用REST客户端?这两个优秀的库具有类似的回调机制,并且都在积极更新(HttpZoid的最新更新是2013年7月22日)。他们都在Maven Central。