Android Studio导入github项目详解
最近在群里发现总有人问一些关于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修改版本和依赖包
运行一下: