Android Studio 导入 GitHub 项目详解

6,642 阅读3分钟
原文链接: blog.csdn.net

最近在群里发现总有人问一些关于Android Studio的问题,Android Studio是Google新出的一款IDE工具,它是基于Intellij IDEA开发的,AS开发Android很方便,那么今天就说一下怎么将Github的项目导入Android Studio中而不报错,完美运行。Github上的项目大部分是基于Gradle编译的,而gradle在线下载是下不了的,除非你翻墙,买了自己的vpn,就不需要以下的操作了,可以直接忽略过,直接导入github项目,然后Fix Project坐等就ok。如果你没有vpn,没有翻墙,那么下面请看好我是怎么导入一个github项目的。

首先我在github上下载一个项目,就以RippleEffect

为例吧,首先我先下载这个压缩包,或者你也可以直接在AS中checkout该项目。


然后我们打开AS,新建一个默认的Android module

看一下我们的两个项目的结构目录



我们可以看到github上下载的项目中是有library的,我们自己新建的是没有,这个library是和eclipse中的library一样的,依赖库。

然后我们要改几个文件,重点来了:

第一个文件:

根目录下的build.gradle,看看我们新建的项目中

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

build:gradle:1.3.0而我们下载的项目的版本是1.2.3
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {

    if (hasProperty("VERSION_NAME")) {
        version = VERSION_NAME
        group = GROUP
    }
    repositories {
        jcenter()
    }
}
把下载的github的项目中的build.gradle改成我们的版本

第二个文件:

gradle文件夹下的gradle-wrapper.properties文件



下载的项目是

#Mon Dec 01 21:42:38 CET 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

项目的gradle版本是2.2.1,而我们的本地gradle版本是2.4,改成我们本地的

第三个文件:app目录下的build.gradle文件

本地的sdk编译版本是23,buildtools版本是23.0.1

最小sdk版本是15,app版本是1---------

第三方依赖库是v7-23.0.1,junit-4.12

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.example.hankkin.myapplication"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.1'
}

这个第三方依赖库可以倒进项目之后再更改

然后我们把library中build.gradle中的最后一行

    apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'

注释掉,compilesdkversion,buildtoolsversion也改成我们本地用的,当然在AS中改也是可以的
android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 9
        versionName "1.3"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        abortOnError false
    }
}


好了下面我们开始导项目

打开AS,选择import project,找导下载的RippleEffect,坐等gradle编译

编译成功我们打开项目看一下


打开project structure修改版本和依赖包



运行一下:


完美运行,是不是很简单?因为AS刚出来没多久,现在大部分人还都再用eclipse,而google到年底就不再支持eclipse的adt了,也有好多小伙伴正在转AS,但是AS上的gradle编译有很多错误,但是没关系,一个一个问题解决就ok了,其实也没多难,要是大家还遇到别的错误的时候可以给我留言,我每天都会看的,会主动帮助大家解决问题的。