http://www.cnblogs.com/liuling/p/2015-9-16-01.html

这种方法是可行的,主要是先自己创建一个project ,然后把没有的文件夹都复制过去就OK了,特别是  gradle系列的,然后再修改module里面的build.gradle即可

这种方法打开的project 一般是在原有的文件夹里面,可以更改地址

现在从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文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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,所以为编译出错。我们只要将文件稍微改动一下即可,改后的文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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学习----Android Studio导入github下载的工程--替换方法的更多相关文章

  1. Android Studio导入github下载的工程

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

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

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

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

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

  4. Android开发学习——android体系结构

    Android的体系结构采用了分层架构的思想, 从上层到底层共包括四层,分别是应用程序程序层.应用框架层.系统库和Android运行时和Linux内核. 一 应用程序层 该层提供一些核心应用程序包,例 ...

  5. Android布局学习——android:gravity和android:layout_gravity的区别

    [Android布局学习系列]   1.Android 布局学习之——Layout(布局)详解一   2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)   3.And ...

  6. Android开发学习——android存储

    Android的存储 内部存储空间RAM内存:运行内存,相当于电脑的内存ROM内存:存储内存,相当于电脑的硬盘外部存储空间 SD卡:相当于电脑的移动硬盘    * 2.2之前,sd卡路径:sdcard ...

  7. Android开发学习——Android项目的目录结构

    Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...

  8. Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

    一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/fi ...

  9. Android开发学习——android数据存储

    Android的存储 Android中的数据存储方式及其存储位置 SharedPrefrence存储 1). 位置           /data/data/packageName/shared_pr ...

随机推荐

  1. python json解析字符串出错该如何排查问题

    每天写一点,总有一天我这条咸鱼能变得更咸 python中对于字符串转json格式有专门的json库可以操作 #!/usr/bin/env python # -*- coding: utf-8 -*- ...

  2. InfoQ一波文章:AdaSearch/JAX/TF_Serving/leon.bottou.org/Neural_ODE/NeurIPS_2018最佳论文

    和 Nested Partition 有相通之处? 伯克利提出 AdaSearch:一种用于自适应搜索的逐步消除方法 在机器学习领域的诸多任务当中,我们通常希望能够立足预先给定的固定数据集找出问题的答 ...

  3. USACO Dueling GPS's

    洛谷 P3106 [USACO14OPEN]GPS的决斗Dueling GPS's 洛谷传送门 JDOJ 2424: USACO 2014 Open Silver 2.Dueling GPSs JDO ...

  4. ajax与重定向

    网上有不少说法ajax的请求url浏览器不会重定向的说法是片面的,正常是这样的: 当服务器将302响应发给浏览器时,浏览器并不是直接进行ajax回调处理,而是先执行302重定向——从Response ...

  5. [LeetCode] 598. Range Addition II 范围相加之二

    Given an m * n matrix M initialized with all 0's and several update operations. Operations are repre ...

  6. [LeetCode] 395. Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串

    Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...

  7. oracle 错误 TNS-01190与oracle 登入没反应操作

    1,问题描述 [oracle@node2 ~]$ lsnrctl stop LSNRCTL - Production on -MAY- :: Copyright (c) , , Oracle. All ...

  8. web版聊天功能简单实现

    一.问题 核心点:如何找到要发送的人? 要完成一个功能我觉得首先要分析该功能的逻辑及技术难点,而不是盲目的直接就撸代码,这样非常浪费时间.个人觉得web版聊天功能没什么实际应用场景,以前看过中国移动好 ...

  9. Python爬取豆瓣电影top

    Python爬取豆瓣电影top250 下面以四种方法去解析数据,前面三种以插件库来解析,第四种以正则表达式去解析. xpath pyquery beaufifulsoup re 爬取信息:名称  评分 ...

  10. Postman测试后台使用@RequestBody接收参数的坑

    问题原因:我在使用PostMan测试接口时发现数据传递不过来,是因为请求体定义为JSON数据,自动就传递不过来,虽然问题简单,但由于之前这个用的较少,所以就忽略了这点. 解决问题链接:https:// ...