现在从github上面现在的项目大部分都是Android Studio工程,那么问题来了,从github上面down一个工程下来,怎么导入android studio呢?

对刚从eclipse转Android Studio的童鞋来说,可能会遇到各种问题。下面方法可以简单快速的将github上的项目导入android studio并运行。
        首先提一下,Android Studio是基于Gradle来构建项目的,这个与eclipse不同,所以想要熟练掌握Android Studio的用法,最好还是先熟悉Gradle。
这里只是介绍Android Studio如何导入工程,关于Gradle,可以自行百度。
        下面介绍Android Studio如何导入project。
        一、安装Android Sudio并新建project
        安装Android Studio后,创建Project,会自动下载Gradle。工程目录结构如下:
        
 
        二、将github下载的project中的gradle版本替换为本地的版本
        如果直接将project导入进Android Studio的话,会去下载工程相应版本的gradle,此过程非常慢,有时候还会出现各种错误。所以直接使用本地已有的gradle。
替换方法很简单,只需要将本地创建的工程中的相应文件夹复制到从github下载的project替换之。
        
 
        三、导入project到Android Studio
        File-->new-->import project,会弹出下面对话框,选中github下载下来的project后点击OK即可。我这里使用volley的demo作为示例。
        
        导入后如下图:
        
 
        四、替换Module的target SDK
        工程导入后有可能还会编译报错,原因有可能是app Module中gradle配置中target SDK高于你本地SDK的版本。解决办法很简单,打开app/build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.timliu.volleyactivity"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile project(':volleysrc')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}

  

        因为我本地的sdk版本最高为21,而此Module的targetSdkVersion为22,所以为编译出错。我们只要将文件稍微改动一下即可,改后的文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "20.0.0" //这里也需修改
defaultConfig {
applicationId "com.timliu.volleyactivity"
minSdkVersion 21
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile project(':volleysrc')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2' //这里也需修改
}

  

        因为app Module依赖volleysrc Library,所以volleysrc/build.gradle文件也做同样的修改。
 
        五、重新编译
       点击按钮对项目重新进行编译。此时编译就不会出错了。编译后,你会发现app目录的图标右下角多了个手机的图标,目录结构如下:
        
   
        此时就可以正常运行github下载下来的项目了。
 

Android Studio导入github下载的工程的更多相关文章

  1. android studio学习----Android Studio导入github下载的工程--替换方法

    http://www.cnblogs.com/liuling/p/2015-9-16-01.html 这种方法是可行的,主要是先自己创建一个project ,然后把没有的文件夹都复制过去就OK了,特别 ...

  2. Android Studio导入github下载的project和module

    前言:我们以前eclispe时代, 经常都是跑到github浏览第三方开源资源,然后下载下来,运行一下sample之类的,学习没有接触的第三方安卓库,但是到了Android Studio,在githu ...

  3. Android Studio导入GitHub上的项目常见问题(有例子)

    前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...

  4. Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)

    前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...

  5. 在android studio中导入github下载的工程

    1.从Github中下载工程压缩包,并将其解压到本地 2.修改文件 假设,解压后的文件目录如下: (1)修改配置文件  xx\build.gradle // Top-level build file ...

  6. 【转】Android studio 导入github工程

    http://blog.csdn.net/feixiaku/article/details/45155587/ 从github下载两个开源项目: PagerSlidingTabStrip    |   ...

  7. Android studio 导入 github 工程

    最近从 github 下载两个开源项目,导入 Android Studio 都以 Studio 卡死结束.第一次以为是项目问题,第二次查询资料发现导入方式不正确,在此整理. 原目录结构如下: Andr ...

  8. android studio学习---Android studio 导入github工程

    无论是那种方式,都最好是先把github上的工程项目下载到本地,然后修改文件再import 首先要知道  自己的build.gradle,在project下面的版本号是多少,比如我的: depende ...

  9. Android Studio导入github项目源码步骤

    1.从github上将源码下载下来 2.打开AS,新建一个新项目(我选择了EmptyActivity) 3.先不要在AS 中打开源码,来整理源码 在源码的目录下面,将project下的build.gr ...

随机推荐

  1. quartus使用笔记

    quartus中默认顶层文件名与工程名相同,或自行设置顶层文件:project->set as top-leval entity 顶层模块名要与工程名相同 RTL是编译后的结果,并没有与实际的硬 ...

  2. Scanf函数输入字符串

    Scanf函数输入字符串 #define _CRT_SECURE_NO_WARNINGS //#pragma warning(disable:4996) #include <stdio.h> ...

  3. jsAddress

    demo.html <!DOCTYPE html><html><head> <title>纯JS省市区联动</title> <scri ...

  4. hp小机定位网卡位置

    rad已经被olrad取代 HPUX下定位网卡位置                                                   一台HP小型机,可能配了多块网卡,在系统中以la ...

  5. 基于选择重传ARQ传输协议的数据重传机制方案设计

    原文链接: http://blog.csdn.net/pinghegood/article/details/7841281  1.背景 最近在项目中,由于使用TD网络传输数据,数据掉包严重,软件组老大 ...

  6. js 格式化日期 ("/Date(1400046388387)/")

    var date = new Date(parseInt(str.replace(/\/Date\((-?\d+)\)\//, '$1'))); var d= date.getFullYear() + ...

  7. VO,DO,DTO,PO,POJO,EJB

    PO:persistent Object,持久化对象,和数据库一一对应. VO:view Object,视图对象,用于展示,把某个页面或者组件的数据封装起来. DO:Domain Object,领域对 ...

  8. 关于MySql数据库设计表与查询耗时分析

    本地建一张表persons,使用脚本插入了1000万条数据 下面比较几种查询方法的耗时(查询9000000到9000005这中间5条数据) 查询结果: 1: SELECT * FROM test.pe ...

  9. iOS多线程编程之NSOperation和NSOperationQueue的使用(转自容芳志专栏)

    转自由http://blog.csdn.net/totogo2010/ 使用 NSOperation的方式有两种, 一种是用定义好的两个子类: NSInvocationOperation 和 NSBl ...

  10. 【Visual Lisp】表处理专题

    表处理大全;;★★★01.创建表★★★(setq lst '());;创建一个空表(list 1 2 3 4) '(1 2 3 4) ;;构造表的两种形式(vl-list* 1 "TT&qu ...