如何使用gradle自己构建appcompat(支持v7)?

时间:2015-02-04 06:08:08

标签: android intellij-idea gradle android-support-library android-appcompat

我在使用gradle在IntelliJ中构建APK时遇到问题。因为我导入appcompat库并使用android-library自己构建它。没有构建错误并输出apk成功。但是当你安装时apk到手机有Android 2.3,动作栏是全屏。但是api> = 14完全正常。喜欢这个

错误的链接:

https:\drive.google.com/file/d/0B0RLAz3J2LuGR1E3NE9JblRIX1E/view?usp=sharing

右链接:

https:\drive.google.com/file/d/0B0RLAz3J2LuGRUZvWlcxLWw5WXc/view?usp=sharing (please replace "\" use "//")

但是如果我通过导入依赖项来使用appcompat库,那么apk就是normorl。所以我的问题是为什么我不能手工构建appcompat?

这是我的项目结构

图片链接:

https:\drive.google.com/file/d/0B0RLAz3J2LuGVDg2Qmc4eVhERUk/view?usp=sharing  (please replace "\" use "//")

根项目的build.gradle:

buildscript {

    repositories {
        mavenCentral()
    }

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

apply plugin: 'com.android.application'

dependencies {
//    compile "com.android.support:appcompat-v7:19.1.0"
    compile project(":appcompat")
}

ext {
    compileSdkVersion = 21
    buildToolsVersion = "21.1.2"
}

android {

    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion 8
    }
    
     lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

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

appcompat项目的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.1'
    }
}
apply plugin: 'com.android.library'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/android-support-v7-appcompat.jar')
}

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

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

settings.build:

include ':appcompat'

此外,我使用gradle 2.2.1,support-v7 19.1.0。 整个项目可以在这里下载: project

有谁知道这个?

1 个答案:

答案 0 :(得分:2)

只需添加依赖项:

compile 'com.android.support:appcompat-v7:21.0.3'

你不应该包含通过存储库提供的库的jar。

注意 :不要忘记在SDK Manager中更新支持库。