现在从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导入github下载的project和module

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

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

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

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

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

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

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

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

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

  6. Android Studio导入GitHub

    方法一:引用开源项目的compile添加到gradle中http://www.zhihu.com/question/27027667 方法二:下载安装包引入:http://blog.csdn.net/ ...

  7. android studio 导入工程问题总结

    github上下了几个开源项目,在导入android studio时出现各种问题, 在网上查询各种资料后一一得以解决,现对个问题点进行简单的总结: 1. gradle project sync fai ...

  8. Android Studio导入Fresco

    大概一周之前,Facebook开源了专为Android系统定制的图片下载缓存工具,当天该消息就上了各大技术论坛网站的头条,也成为了各个技术群里讨论的最主要的话题.也就在当天stay4it的QQ群里面就 ...

  9. android studio 打开github开源代码

    1.最近下载的开源代码全是github来的,一直用eclipse开发,对于android studio来说是全新的 2.在eclipse导入一个工程那是so easy, import选择一下就可以. ...

随机推荐

  1. 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)

    [题外话] 闲的无聊竟然想尝试测试自己做的项目在不同操作系统上的性能表现,所以决定试试在Linux上部署Apache和Mono的环境.由于平时很少接触Linux,所以从网上找了几篇文章(附在相关链接中 ...

  2. sql 数据库结构导出到文件

    SELECT 表名 = Case When A.colorder= Then D.name Else '' End, 表说明 = Case When A.colorder= Then isnull(F ...

  3. 两张图总结 Neutron 架构 - 每天5分钟玩转 OpenStack(74)

    前面我们详细讨论了 Neutron 架构,包括 Neutron Server,Core 和 Service Agent.现在用两张图做个总结.先看第一张: 与 OpenStack 其他服务一样,Neu ...

  4. Android随笔之——Android单元测试

    在实际开发中,开发android软件的过程需要不断地进行测试.所以掌握Android的单元测试是极其重要的.您应该把单元测试作为Android应用开发周期的一部分,精心编写的测试可以在开发早起帮你发现 ...

  5. HBase 实战(2)--时间序列检索和面检索的应用场景实战

    前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇主要讲述面向时间序列/面 ...

  6. 8.eclipse调试smali

    一.重打开包APK 1.apktool解包文件 apktool d -d XXX.apk 这里注意使用-d参数,生成的smali文件才是以java结尾的,才能被eclipse识别 2.找到Androi ...

  7. Sqlite注入测试

    测试了一个网站是Sqlite数据库,还装有安全狗,绕过了防护,找到Payload,写了一个Python脚本来跑表,这里总结一下: 取得sqlite数据库里所有的表名 查询table,type 段是't ...

  8. C与C++的细微区别——省略形式参数名

    转自:http://www.cppblog.com/ownwaterloo/archive/2009/04/26/omit_parameter_name.html 一.C与C++的细微区别 在函数声明 ...

  9. ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

    https://en.wikipedia.org/wiki/Base64 The Base64 index table: Value Char   Value Char   Value Char   ...

  10. TCP的三次握手四次挥手

    一.三次握手 1.wireshark 抓包 2.TCP报文手部 注意标志位: 1).同步 SYN = 1 表示这是一个连接请求或连接接受报文. 2).只有当 ACK = 1 时确认号字段才有效.当 A ...