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,一经查实,立即删除!

相关文章

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

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

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…

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…

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、移动光标到下一…

什么是苹果耳塞?

苹果耳塞 (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的目标之一是要找到一种便于使用并容易拓…

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

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

l和&lL&T: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 …

CRT的完整形式是什么?

CRT:阴极射线管 (CRT: Cathode Ray Tube) CRT is an abbreviation of Cathode Ray Tube. Cathode Ray Tube is a vacuum tube that accommodates one or more than one electron filled guns and a phosphorescent screen, which is used in television and convent…

推送证书

2019独角兽企业重金招聘Python工程师标准>>> 推送证书 1 openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes 转换文件上传 2证书有效期 openssl x509 -in xxx.pem -noout -dates —反馈 notBeforeDec 12 07:42:27 2015 GMT notAfterDec 11…

Dubbo学习总结(4)——Dubbo基于Zookeeper实现分布式实例

入门实例解析 第一&#xff1a;provider-提供服务和相应的接口 创建DemoService接口 [java] view plaincopyprint? <span style"font-size:18px;">package com.unj.dubbotest.provider; import java.util.List; /** * 定义服务接口&#xff0c;该…

[转载]PhotoShop性能优化

现在随着Photoshop版本越来越高功能也越来越强大&#xff0c;而往往强大的功能需要电脑有好的配置运行&#xff0c;比如HDR、图像合成或者3D和视频等类似的功能&#xff0c;还有处理比较大尺寸的图像时&#xff0c;如果电脑配置不够强往往非常卡&#xff0c;这时我们就要好好设…

0.1uf与47uf并联_UF是什么形式?

0.1uf与47uf并联UF&#xff1a;超滤 (UF: Ultrafiltration) UF is an abbreviation of Ultrafiltration. It is a kind of membrane filtration which is used in UF water purifiers. Through a hollow fiber threaded semi-permeable membrane, the water is made to proceed…

机器学习相关——协同过滤

在现今的推荐技术和算法中&#xff0c;最被大家广泛认可和采用的就是基于协同过滤的推荐方法。本文将带你深入了解协同过滤的秘密。下面直接进入正题 1 什么是协同过滤 协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤 (Collaborative Filtering, 简称 CF)&#x…

InfoQ中文站2015年度优秀社区编辑评选揭晓

\又到了年终岁末&#xff0c;在过去的一年里&#xff0c;InfoQ网站的月独立UV接近130万&#xff0c;月PV突破200万&#xff0c;每周独立访问用户接近30万&#xff0c;网站访问量过万的文章超过60篇。每月活跃的数十位社区编辑为InfoQ的内容生产贡献着力量。正是这点点汇聚的星光…

【设计模式】—— 访问者模式Visitor

对于某个对象或者一组对象&#xff0c;不同的访问者&#xff0c;产生的结果不同&#xff0c;执行操作也不同。此时&#xff0c;就是访问者模式的典型应用了。 应用场景 1 不同的子类&#xff0c;依赖于不同的其他对象 2 需要对一组对象&#xff0c;进行许多不相关的操作&#x…