Android Studio导入工程的正确姿势

为什么80%的码农都做不了架构师?>>>   hot3.png

如果你有很好的网络环境

好的网络环境,这里不是指:我家网速带宽100M,电信的光纤接入。

而是:能翻墙。因为如果本机的gradle和将要导入的工程版本不匹配,Studio就回去下载对应版本的gradle,下载完之后才能进行编译。

当然,下载速度也不能太慢。太慢的话,你就等着下载完吧。。。 

如果你没有好的网络环境,或者你现在处于没有网络状态

那么这篇文章也许能够指导你如何正确的导入别人的工程。

 

这里就用一个代码作为示例:github上的一个安卓换肤的示例:
https://github.com/fengjundev/Android-Skin-Loader.git

 

首先,先把这个git克隆到本地。(TortoiseGit真是个好工具!)

113531_mv2f_195456.png

    然后,打开Android studio,得到一个能够正确运行的工程。这个工程,可以是你之前能够运行起来的工程,也可以是你新建的一个studio工程。为什么要新建一个工程?为的就是得到能够运行起来的gradle配置。

我们需要的是以下这几个内容:

1.Android Plugin Version

2.Gradle Version

3.Compile SDK Version 

4.Build Tools Version

5. GradleHome

如果有现有的工程,直接跳到【获取我们所需的配置内容】处接着阅读。如果没有,就接着往下阅读。

这里我就创建一个新的工程:ConfigApplication:目的只有一个:获取以上提到的内容。

选择Compile SDK Version的时候,尽量往高了选。用最新的总是比较好的。

113626_ZHGJ_195456.png

 

 

新建完了,切换到Project浏览模式,以下四个框就是要重点关注的对象。也就是从这里获取我们所需要的配置信息:这也是我们导入新的工程之前,需要修改的几个文件:

113649_lQzA_195456.png

这些内容也都可以通过其他方式更加直接的获取到:

获取我们所需的配置内容

另一种方式就是:右击项目,打开module setting

113723_XrPy_195456.png

这里有四个:Project标签:

113748_B7LI_195456.png

 

App标签也有两个:

 

113819_hPMB_195456.png

 

还有一个:通过IDEFile 打开Settings,搜索gradle

113908_bftR_195456.png

 

对应的5个配置的值是:

1.Android Plugin Version  1.2.3

2.Gradle Version           2.2.1

3.Compile SDK Version    23

4.Build Tools Version      23.0.1

5.GradleHome             D:\Program Files\Android Studio\gradle\gradle-2.2.1

 

至此,我们所需的5个配置信息都获取到了。接下来才是导入新工程的开始:

开始导入新工程

一般导入工程,就是直接导入新的工程。但是这也就造成了配置不对,一直卡在gradle的下载途中等各种问题。获取本机的配置信息,就是为了能够免去各种下载,各种配置等容易出错的步骤,从而一次性(至少不会卡住不动)导入成功。

进入我们用来测试的Android-Skin-Loader工程,用Sublime Text 打开(这个工具也是很好用的编辑器)。似乎这个工程比我们建的ConfigApplication要复杂很多。。工程就有三个。。。似乎不是很好对付啊!!!

113944_s8ck_195456.png

接下来就是开始修改原有工程的配置文件了。开始吧!

修改Gradle Home

Gradle home 的配置信息在这里:

Android-skin-loader/.idea/gradle.xml中:

114024_gkep_195456.png

将这个设置为Config中的对应的值: D:\Program Files\Android Studio\gradle\gradle-2.2.1

114053_6wcj_195456.png

 

修改Gradle Version

Gradle Version的信息在这里:

Android-skin-loader/gradle/wrapper/gradle-wrapper.properties

114111_7M2T_195456.png

修改为Config的值:2.2.1

114137_cEi1_195456.png

 

修改Android Plugin Version

Android Plugin Version 的信息在这里:

Android-skin-loader/build.gradle

114153_xT4T_195456.png

修改为Config的值:1.2.3

114219_YL8g_195456.png

 

修改Compile SDK Version Build Tools Version

Android-skin-loader有三个工程哦,所以这三个工程中都需要修改SDK Version Tools Version。 这些信息都在对应工程下的build.gradle中:

114243_eWMR_195456.png

这里都改成Config中获取到的值:23 23.0.1

114313_wsGc_195456.png

 

 

至此,所有的配置基本上都改完了。下面终于可以导入了:

114333_4tPL_195456.png

如果一切顺利,就会build finish啦:

114402_l5oV_195456.png

 

 

但是,如果

很不幸:还是卡住了,具体问题具体分析

导入之后,比如会卡在某个地方:

114421_GYgO_195456.png

Android Studio就这点不好,不知道到底后面在做什么。。Cancel也不起作用。(不知道这个cancel用来干嘛的,假动作?)

我个人的经验告诉我:一般都是出现在项目中的build.gradle中。还是拿Android-skin-loader来说:打开sample下的build.gradle文件,我们会看到一堆我们不熟悉的代码(和ConfigApplication的对比):

114448_iViz_195456.png

 

可以看到,左边的samplegradle多了一堆。。。粗略看一下这些代码,就知道和项目编译是没有什么关系的,就可以删掉这些代码了。

对于其他工程下的build.gradle文件,也同样的可以删掉一些多余的配置。这样能够简化gradle的配置,能够最小程度的满足gradle编译运行的条件。

 

以上就是我的经验总结了。希望能帮助到大家。

 

转载于:https://my.oschina.net/lifj/blog/551707

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BBIAF的完整形式是什么?

BBIAF:回来几场 (BBIAF: Be Back In A Few) BBIAF is an abbreviation of "Be Back In A Few". BBIAF是“几回去”的缩写 。 It is an expression, which is commonly used in messaging or chatting on social media networking sites like Facebook, …

为什么年轻人挣得很多还是穷?北上广深挑战指数报告~

又是年底,又到了做选择的时候。从“激情燃烧的岁月”到“何处安放的青春”,逃离北上广深的口号从未停止过,回到北上广深的呼喊更是一浪接着一浪。应届生们奔波忙碌,想有一份承载自己梦想的工作,想在异乡有一处安身之所…

apple组织名称是什么_什么是Apple Macintosh?

apple组织名称是什么苹果Macintosh (Apple Macintosh) Steve Jobs and Steve Wozniak has founded the line of computers in the year 1984, on the date 24th January, named it Apple Macintosh. Macintosh is shortly abbreviated as Mac. In this, various versions of co…

什么是Apple Desktop Bus? 亚行代表什么?

亚行:Apple桌面总线 (ADB: Apple Desktop Bus) ADB is an abbreviation of "Apple Desktop Bus". ADB是“ Apple Desktop Bus”的缩写 。 It is a low-speed proprietary bit-serial peripheral bus connecting devices to computers. In 1986, it was l…

CentOS 创建SVN 服务器,并且自动同步到WEB 目录

CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报分类:linux(5) 一、安装Subversion #yum install subversion二,基本的SVN服…

TTYL的完整形式是什么?

TTYL:稍后再与您交谈 (TTYL: Talk To You Later) TTYL is an abbreviation of Talk To You Later. It is an internet slang that is most generally used in text messaging, instant messaging, and chatting on Facebook, Twitter, WhatsApp, etc. The acronym i…

zhilizhili-ui 2016始动 开始做个样例站吧 (一)

对 我又挖坑了 不过其实也不算挖坑 因为ui构建中就会有填坑的文章 之前一直在写《编写大型web页面 结合现有前端形势思考未来前端》这是一篇巨难写的文章 估计要到年中才能写好了 写作的过程中 发生了国内前端大撕逼 2015的尾声大战 是否可以宣告前端是否开始新的时代 2016年 国…

python 网格_Python | 网格到情节

python 网格Most of the time, we need good accuracy in data visualization and a normal plot can be ambiguous. So, it is better to use a grid that allows us to locate the approximate value near the points in the plot. It helps in reducing the ambiguity and t…

2016年1月计划

开始试着每月做计划和总结,有节奏的规划自己的时间,一月计划: 1、hive那本书拖了很久了,一月一定会看完。 2、因为跟着阚爷的风准备试着做一下讲师,分配给我的是推荐这块,所以网上多找找做推荐的资源&#…

slr1文法_SLR的完整形式是什么?

slr1文法单反:单镜头反光 (SLR: Single Lens Reflex) SLR is an abbreviation of Single Lens Reflex. It is used in high standard cameras. SLR makes use of an automatic moving mirror arrangement that makes it possible for photographers to perceive pre…

vim快捷键2

一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl f,向上翻页ctrl b 3、向下翻半页ctrl d,向上翻半页ctrl u 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一…

FYR的完整形式是什么?

财政年度:供您参考 (FYR: For Your Reference) FYR is an abbreviation of "For Your Reference". FYR是“供您参考”的缩写。 It is an expression, which is commonly used in the Gmail platform. It is written as a follow-up message for the info…

UIScrollView的简单使用

- UIScrollView 介绍 问&1.UIScrollView 是干什么的? • UIScrollView 也是一种控件,继承自UIView。• 用来实现”滚动”和”缩放”的控件 什么是UIScrollView? UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容&#xf…

什么是苹果耳塞?

苹果耳塞 (Apple Earbuds) Apple Earbuds are another sound device made by Apple on 23rd October 2001. It is an in-ear sound device and it has been included in all the mobile and music devices of Apple. Apple Earbuds are quite comfortable and easy to handle w…

趣说游戏AI开发:对状态机的褒扬和批判

0x00 前言 因为临近年关工作繁忙,已经有一段时间没有更新博客了。到了元旦终于有时间来写点东西,既是积累也是分享。如题目所示,本文要来聊一聊在游戏开发中经常会涉及到的话题——游戏AI。设计游戏AI的目标之一是要找到一种便于使用并容易拓…

类中函数模板 typeof_Julia中的typeof()函数

类中函数模板 typeofJulia| typeof()函数 (Julia | typeof() function) typeof() function is a library function in Julia programming language, it is used to get the concrete type of the given value or variable. typeof()函数是Julia编程语言中的库函数,…

sencha touch调试时Please close other application using ADB: Monitor, DDMS, Eclipse

1、运行——cmd—— netstat -aon|findstr "5037" 2、打开任务管理器,查看所有进程 显示进程pid(文件-查看)--查找pid7740的结束。转载于:https://www.cnblogs.com/taoshengyujiu/p/5099588.html

定时器mia是什么意思_MIA的完整形式是什么?

定时器mia是什么意思MIA:行动失踪 (MIA: Missing In Action) MIA is an abbreviation of "Missing In Action". MIA是“缺少行动”的缩写。 It is an expression, which is commonly used in the Gmail platform. It is written to show that the origin…

window下自己主动备份数据库成dmp格式的bat写法

复制以下的命令到一个txt文本文档&#xff0c;然后改动相应的參数为自己须要的參数&#xff0c;一切完毕之后&#xff0c;将文件保存为bat格式。这样每次须要备份的时候仅仅须要双击一下这个bat文件。其它的都不用你了&#xff0c;你仅仅须要静静的等待……</pre><pre…

l和l_L&T的完整形式是什么?

l和&lL&#xff06;T&#xff1a;Larsen和Toubro (L&T: Larsen and Toubro) L&T is an abbreviation of Larsen and Toubro. It is an Indian multinational conglomerate corporation with international networks and operations. It is dynamically engaged in …