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

Android Studio 中的 Project 等同于 eclipse 中的 workspace , Module 等同于 eclipse 中的 project。
一、整项目导入
下载完项目先不要急着导入,按下文操作修改一些 gradle 相关文件后再导入,特别是下文说的第二个需要修改的文件,如果本地没有这个配置的包,导入时会花很长时间去下这个包,但是一般我们在安装studio的时候就已经有了。
首先,用文本编辑器,修改配置文件 build.gradle 的 dependencies 部分。
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
1.5.0,改成你所安装的 Android Studio 使用的版本。若不知道该改成啥,最简单的方式是新建一个project,找到这个文件看这个值是是用的哪个版本。
更改后:
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
}
其次,修改 gradle/wrapper/gradle-wrapper.properties 的 distributionUrl 的值 gradle-x.x-all.zip 版本。同样可以参照新建 project。也可直接用新建项目下 gradle/wrapper/ 目录下的两个文件替换。
更改后:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
再次,修改 gradle.properties 文件配置,同样可以参照新建 project。如果项目这个文件没有配置,则不用管。
第四,如果存在 Modul 还需要如下修改:
A 修改 Module 目录下 build.gradle ,若文件中存在 apply from: 部分,则将该部分注释。(如果没有,则不用管。)
更改后:
//apply from: 'https://raw.githubusercontent.com/blundell/release-android-library/master/android-release-aar.gradle'
B 其他文件 Module 目录下的 project.properties 文件中的 target=android-17 ,指定 SDK 版本
有时本地 sdk 没有这个版本,且没有修改这个文件,结果编译通过可以运行。其实在之前可以指定,即在文件 gradle.properties 中指定,如下:
ANDROID_BUILD_TARGET_SDK_VERSION=21
ANDROID_BUILD_TOOLS_VERSION=21.1.2
ANDROID_BUILD_SDK_VERSION=21
以上文件改完后就可以直接导入整个工程,选择工程根目录。
如果有错点击工具栏中的同步,如下图:

注意:
我在实践时,直接用新建项目下 gradle/wrapper/ 目录下的两个文件替换下载下来的开源项目同位置的文件,不用做其余修改,即可导入成功。
二、Module 导入

如果已经有Project,只想导入 lib-zxing 和 app 这两个项目到 Model (即Project)。
首先,File > New > Import Module
其次,在项目中引用添加的 Module (以 lib-zxing 为例)
Project Structure → app(要添加引用的 Project) → Dependencies → 3 Module dependency

添加完以后,同步一下。
Android studio 导入 github 工程的更多相关文章
- 【转】Android studio 导入github工程
http://blog.csdn.net/feixiaku/article/details/45155587/ 从github下载两个开源项目: PagerSlidingTabStrip | ...
- android studio学习---Android studio 导入github工程
无论是那种方式,都最好是先把github上的工程项目下载到本地,然后修改文件再import 首先要知道 自己的build.gradle,在project下面的版本号是多少,比如我的: depende ...
- Android Studio导入GitHub上的项目常见问题(有例子)
前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...
- Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)
前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...
- Android Studio 导入Eclipse工程
eclipse:workspace对应多个project:而android studio是project对应多个module:故,在android studio中的工程project实际上是eclip ...
- Android Studio导入github下载的工程
现在从github上面现在的项目大部分都是Android Studio工程,那么问题来了,从github上面down一个工程下来,怎么导入android studio呢? 对刚从eclipse转And ...
- android studio学习----Android Studio导入github下载的工程--替换方法
http://www.cnblogs.com/liuling/p/2015-9-16-01.html 这种方法是可行的,主要是先自己创建一个project ,然后把没有的文件夹都复制过去就OK了,特别 ...
- Android Studio导入github下载的project和module
前言:我们以前eclispe时代, 经常都是跑到github浏览第三方开源资源,然后下载下来,运行一下sample之类的,学习没有接触的第三方安卓库,但是到了Android Studio,在githu ...
- Android Studio导入eclipse工程(引用多个其它工程)
eclipse工程向android studio 迁移过程中需要到编译错误: eclipse工程的结构比较复杂,引用了其它的工程,在迁移的过程中遇到了错误. @ViewInject(R.id.edit ...
随机推荐
- Image控件Stretch属性
通过设置Image控件Stretch属性的值可以控制图片的显示形式: 包含的值:None.Fill.Uniform.UniformToFill <Grid x:Name="Layout ...
- JavaScript 检查是否是数字
//---------------------------------------------------------- // 功能:检查是否是数字 // 参数: // str // 返回值: // ...
- 第三方包jintellitype实现Java设置全局热键
Java原生API并不支持为应用程序设置全局热键.要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C /C++的javaer来说,有点困难.不过幸好,国外有人已经 ...
- mybatis大于号,小于号,去地址符,单引号,双引号转义说明
在mybatis中,使用到大于号,小于号,与在SQL编辑器中是不一样的. SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DAT ...
- C#零基础入门07:打老鼠之面向对象重构
一:前言 有了上面两节的知识,尤其是第六节之后,现在我们回过头看我们的打老鼠游戏,我们是不是会发现:这个程序也太不面向对象了.我们所有的代码逻辑都分布在Code-Hide中(UI的后台代码,称之为Co ...
- 直方图与bin
1.bin的含义 直方图中bin的含义:计算颜色直方图需要将颜色空间划分为若干小的颜色区间,即直方图的bin,通过计算颜色在每个小区间内德像素得到颜色直方图,bin越多,直方图对颜色的分辨率越强,但增 ...
- ptime概述
官方给出的ptime的定义是:ptime gives the length of time in milliseconds represented by themedia in a packet.简单 ...
- GraphX中Pregel单源点最短路径(转)
原文链接:GraphX中Pregel单源点最短路径 GraphX中的单源点最短路径例子,使用的是类Pregel的方式. 核心部分是三个函数: 1.节点处理消息的函数 vprog: (VertexId ...
- JavaScript:Functions
ylbtech-JavaScript:Functions 1.返回顶部 JavaScript 全局对象 全局属性和函数可用于所有内建的 JavaScript 对象. 顶层函数(全局函数) 函数 描述 ...
- C++ 友元类使用 (friend)
C++中私有变量对外部类是不能直接访问的,也是不能继承的. 使用友元类可以访问类中的私有方法.私有变量,虽然对类的封装有一定的破坏,但是有时也是很实用的. 在实际中,在修改已有代码时,为了不大改动已有 ...