Android Studio导入github项目详解

jopen 9年前

最近在群里发现总有人问一些关于Android Studio的问题,Android Studio是Google新出的一款IDE工具,它是基于Intellij IDEA开发的,AS开发Android很方便,那么今天就说一下怎么将Github的项目导入Android Studio中而不报错,完美运行。Github上的项目大部分是基于Gradle编译的,而gradle在线下载是下不了的,除非你KX上网,买了自己的V*N,就不需要以下的操作了,可以直接忽略过,直接导入github项目,然后Fix Project坐等就ok。如果你没有V*N,没有KX上网,那么下面请看好我是怎么导入一个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了,其实也没多难,要是大家还遇到别的错误的时候可以给我留言,我每天都会看的,会主动帮助大家解决问题的。

来自: http://blog.csdn.net/lyhhj/article/details/48789705