现在从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. [R] 回归拟合

    如下示例 > fit <- lm(y~x, data = data01) > summary(fit) Call: lm(formula = data01$P ~ data01$M, ...

  2. ActionScript语言函数重载

    更新:你见过JavaScript支持重载吗,规范就是这么定义的.如果不是研究Java和Flex对象的Serialization,我也不会注意它. 距离写这篇文章已有8年了,时光匆匆啊,今天整理资料时看 ...

  3. 真正意义上的spring环境中的单元测试方案spring-test与mokito完美结合

    真正意义上的spring环境中的单元测试方案spring-test与mokito完美结合 博客分类: java 测试 单元测试SpringCC++C#  一.要解决的问题:     spring环境中 ...

  4. 数据模型类对比 反射c#

    using System;using System.ComponentModel.DataAnnotations; public class LoginModel    {               ...

  5. javascript 对象属性的get set访问器写法

    function Person() {     var age = new Date().getFullYear() - 18;     Object.defineProperty(this, &qu ...

  6. github 仓库管理

    一.远程仓库有master和dev分支1. 克隆代码 git clone https://github.com/master-dev.git # 这个git路径是无效的,示例而已 2. 查看所有分支 ...

  7. git -- 如何解决冲突

    遇到冲突,首先要编辑冲突文件,可以使用vim或者其他工具,冲突文件变现为: <<<<HEAD 到 ==== :代表本地分支的修改内容 ==== 到 >>>&g ...

  8. Valid Sudoku leetcode

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  9. URAL - 1917 Titan Ruins: Deadly Accuracy(水题)

    水题一个,代码挫了一下: 题意不好理解. 你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来. 每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来. ...

  10. CentOS 一个网卡设置多个IP

    方法1:少量IP手动绑定: (这里以绑定IP到eth0为例,其它网卡的话修改相应的文件名即可) 1.复制ifcfg-eth0的网卡配置文件并改名为ifcfg-eth0:0 [root@akinlau ...