Android Studio匯入github專案詳解

weixin_33795806發表於2015-09-28
版權宣告:本文為博主原創文章,轉載請標明出處。 https://blog.csdn.net/lyhhj/article/details/48789705

最近在群裡發現總有人問一些關於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了,其實也沒多難,要是大家還遇到別的錯誤的時候可以給我留言,我每天都會看的,會主動幫助大家解決問題的。

相關文章