Skip to content

Commit 0afb4ff

Browse files
committed
Site updated: 2020-03-06 19:52:46
1 parent 91e27d5 commit 0afb4ff

File tree

7 files changed

+778
-1
lines changed

7 files changed

+778
-1
lines changed

2020/03/05/1119 Pre- and Post-order Traversals (30分)/index.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,15 @@ <h1 class="article-title" itemprop="name">
307307

308308
<nav id="article-nav">
309309

310+
<a href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/" id="article-nav-newer" class="article-nav-link-wrap">
311+
<i class="icon-circle-left"></i>
312+
<div class="article-nav-title">
313+
314+
一篇文章讲清楚Gradle与Gradle Wrapper的区别
315+
316+
</div>
317+
</a>
318+
310319

311320
<a href="/2020/03/05/bean%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/" id="article-nav-older" class="article-nav-link-wrap">
312321
<div class="article-nav-title">bean的生命周期</div>

2020/03/06/一篇文章讲清楚Gradle与Gradle Wrapper的区别/index.html

Lines changed: 601 additions & 0 deletions
Large diffs are not rendered by default.

archives/2020/03/index.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,33 @@ <h1 class="header-author js-header-author">bfx</h1>
182182
</div>
183183
<div class="archives">
184184

185+
<article class="archive-article archive-type-post">
186+
<div class="archive-article-inner">
187+
<header class="archive-article-header">
188+
<div class="article-meta">
189+
<a href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/" class="archive-article-date">
190+
<time datetime="2020-03-06T11:52:09.986Z" itemprop="datePublished"><i class="icon-calendar icon"></i>2020-03-06</time>
191+
</a>
192+
</div>
193+
194+
195+
<h1 itemprop="name">
196+
<a class="archive-article-title" href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/">一篇文章讲清楚Gradle与Gradle Wrapper的区别</a>
197+
</h1>
198+
199+
200+
<div class="article-info info-on-right">
201+
202+
203+
204+
</div>
205+
<div class="clearfix"></div>
206+
</header>
207+
</div>
208+
</article>
209+
210+
211+
185212
<article class="archive-article archive-type-post">
186213
<div class="archive-article-inner">
187214
<header class="archive-article-header">

archives/2020/index.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,33 @@ <h1 class="header-author js-header-author">bfx</h1>
182182
</div>
183183
<div class="archives">
184184

185+
<article class="archive-article archive-type-post">
186+
<div class="archive-article-inner">
187+
<header class="archive-article-header">
188+
<div class="article-meta">
189+
<a href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/" class="archive-article-date">
190+
<time datetime="2020-03-06T11:52:09.986Z" itemprop="datePublished"><i class="icon-calendar icon"></i>2020-03-06</time>
191+
</a>
192+
</div>
193+
194+
195+
<h1 itemprop="name">
196+
<a class="archive-article-title" href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/">一篇文章讲清楚Gradle与Gradle Wrapper的区别</a>
197+
</h1>
198+
199+
200+
<div class="article-info info-on-right">
201+
202+
203+
204+
</div>
205+
<div class="clearfix"></div>
206+
</header>
207+
</div>
208+
</article>
209+
210+
211+
185212
<article class="archive-article archive-type-post">
186213
<div class="archive-article-inner">
187214
<header class="archive-article-header">

archives/index.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,33 @@ <h1 class="header-author js-header-author">bfx</h1>
182182
</div>
183183
<div class="archives">
184184

185+
<article class="archive-article archive-type-post">
186+
<div class="archive-article-inner">
187+
<header class="archive-article-header">
188+
<div class="article-meta">
189+
<a href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/" class="archive-article-date">
190+
<time datetime="2020-03-06T11:52:09.986Z" itemprop="datePublished"><i class="icon-calendar icon"></i>2020-03-06</time>
191+
</a>
192+
</div>
193+
194+
195+
<h1 itemprop="name">
196+
<a class="archive-article-title" href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/">一篇文章讲清楚Gradle与Gradle Wrapper的区别</a>
197+
</h1>
198+
199+
200+
<div class="article-info info-on-right">
201+
202+
203+
204+
</div>
205+
<div class="clearfix"></div>
206+
</header>
207+
</div>
208+
</article>
209+
210+
211+
185212
<article class="archive-article archive-type-post">
186213
<div class="archive-article-inner">
187214
<header class="archive-article-header">

content.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"title":"1119 Pre- and Post-order Traversals (30分)","date":"2020-03-05T14:17:04.357Z","path":"2020/03/05/1119 Pre- and Post-order Traversals (30分)/","tags":[]},{"title":"bean的生命周期","date":"2020-03-05T07:34:39.139Z","path":"2020/03/05/bean的生命周期/","tags":[]},{"title":"1064 Complete Binary Search Tree (30分)","date":"2020-03-04T01:31:02.291Z","path":"2020/03/04/1064 Complete Binary Search Tree (30分)/","tags":[]},{"title":"1094 The Largest Generation (25分)","date":"2020-03-02T03:50:29.787Z","path":"2020/03/02/1094 The Largest Generation (25分)/","tags":[]},{"title":"My First Post","date":"2020-01-22T12:59:37.000Z","path":"2020/01/22/My-First-Post/","tags":[]},{"title":"Hello World","date":"2020-01-22T07:52:45.957Z","path":"2020/01/22/hello-world/","tags":[]}]
1+
[{"title":"一篇文章讲清楚Gradle与Gradle Wrapper的区别","date":"2020-03-06T11:52:09.986Z","path":"2020/03/06/一篇文章讲清楚Gradle与Gradle Wrapper的区别/","tags":[]},{"title":"1119 Pre- and Post-order Traversals (30分)","date":"2020-03-05T14:17:04.357Z","path":"2020/03/05/1119 Pre- and Post-order Traversals (30分)/","tags":[]},{"title":"bean的生命周期","date":"2020-03-05T07:34:39.139Z","path":"2020/03/05/bean的生命周期/","tags":[]},{"title":"1064 Complete Binary Search Tree (30分)","date":"2020-03-04T01:31:02.291Z","path":"2020/03/04/1064 Complete Binary Search Tree (30分)/","tags":[]},{"title":"1094 The Largest Generation (25分)","date":"2020-03-02T03:50:29.787Z","path":"2020/03/02/1094 The Largest Generation (25分)/","tags":[]},{"title":"My First Post","date":"2020-01-22T12:59:37.000Z","path":"2020/01/22/My-First-Post/","tags":[]},{"title":"Hello World","date":"2020-01-22T07:52:45.957Z","path":"2020/01/22/hello-world/","tags":[]}]

index.html

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,92 @@ <h1 class="header-author js-header-author">bfx</h1>
171171
<div id="js-content" class="content-ll">
172172

173173

174+
<article id="post-一篇文章讲清楚Gradle与Gradle Wrapper的区别" class="article article-type-post article-index" itemscope itemprop="blogPost">
175+
<div class="article-inner">
176+
177+
<header class="article-header">
178+
179+
180+
<h1 itemprop="name">
181+
<a class="article-title" href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/">一篇文章讲清楚Gradle与Gradle Wrapper的区别</a>
182+
</h1>
183+
184+
185+
186+
<a href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/" class="archive-article-date">
187+
<time datetime="2020-03-06T11:52:09.986Z" itemprop="datePublished"><i class="icon-calendar icon"></i>2020-03-06</time>
188+
</a>
189+
190+
</header>
191+
192+
<div class="article-entry" itemprop="articleBody">
193+
194+
<p><a href="https://blog.csdn.net/sinat_31311947/article/details/81084689" target="_blank" rel="noopener">一篇文章讲清楚Gradle与Gradle Wrapper的区别</a></p>
195+
<p>Gradle:android用来构建项目的编程框架。这个玩意对于使用AS开发的,大家都清楚,用这个来构建项目变得无比轻松和高可定制性,比如引入第三方依赖,发布到maven库,构建多渠道版本等等都变得非常轻松,所以对于使用Gradle,自然是没有任何异议了,但是大家经常会在自己的项目中没有看见gradle,疑惑Gradle在哪?反而,没找到gradle,却总是能看见一个叫gradle wrapper的玩意,也不知道什么意思。</p>
196+
<p><img src="https://i.loli.net/2020/03/06/xPWJg9bC56Bdpir.png" alt="20180717170812750.png"><br>如图,找遍整个项目,与gradle有关的就这两个文件夹,却只发现gradle-wrapper.jar。</p>
197+
<h3 id="wrapper的意思:包装。"><a href="#wrapper的意思:包装。" class="headerlink" title="wrapper的意思:包装。"></a>wrapper的意思:包装。</h3><p>那么可想而已,这是gradle包装。其实是这样的,因为gradle处于快速迭代阶段,经常发布新版本,如果我们的项目直接去引用,那么更改版本等会变得无比麻烦。而且每个项目又有可能用不一样的gradle版本,这样去手动配置每一个项目对应的gradle版本就会变得麻烦,gradle的引入本来就是想让大家构建项目变得轻松,如果这样的话,岂不是又增加了新的麻烦?所以android想到了包装,引入gradle-wrapper,通过读取配置文件中gradle的版本,为每个项目自动的下载和配置gradle,就是这么简单。我们便不用关心如何去下载gradle,如何去配置进项目来。那么gradle wrapper从何而来?看下图</p>
198+
<p><img src="https://i.loli.net/2020/03/06/OpKwPxG64Zb5Rmh.png" alt="20180717171437123.png"><br><img src="https://i.loli.net/2020/03/06/uBmxaRyGTv19HNK.png" alt="20180717171449610.png"><br>在Android Studio安装的时候便会自带这个功能jar包,并且我们也看到了gradle-wrapper.properties。所以我们就知道了,AS每新建一个项目,就会将个目录下的这两个文件拷入到项目的gradle文件夹下面。</p>
199+
<p>不知道大家有没有发现还有两个红圈圈住的文件,也是在我们项目根目录下常见的。gradlew是在linux,mac下使用的,gradlew.bat是在window下使用的,提供在命令行下执行gradle命令的功能</p>
200+
<h3 id="但是有人会疑问为什么直接执行gradle的命令,而是执行gradlew的命令?"><a href="#但是有人会疑问为什么直接执行gradle的命令,而是执行gradlew的命令?" class="headerlink" title="但是有人会疑问为什么直接执行gradle的命令,而是执行gradlew的命令?"></a>但是有人会疑问为什么直接执行gradle的命令,而是执行gradlew的命令?</h3><p>因为就像wrapper本身的意义,gradle命令行也是善变的,所以wrapper对命令行也进行了一层封装,使用同一的gradlew命令,wrapper会自动去执行具体版本对应的gradle命令。。</p>
201+
<p><font color=red>那么gradle-wrapper.jar具体下载的gradle去哪了?</font></p>
202+
<p><img src="https://i.loli.net/2020/03/06/G6JqMwxhUQCy3LA.png" alt="20180717172218911.png"><br>一般在用户目录下的.gradle/wrapper/dists存放</p>
203+
<h3 id="那么我们如何去修改要下载的gradle版本呢?"><a href="#那么我们如何去修改要下载的gradle版本呢?" class="headerlink" title="那么我们如何去修改要下载的gradle版本呢?"></a>那么我们如何去修改要下载的gradle版本呢?</h3><p>相比有时候大家也为了AS去下载gradle但下载不下来一直卡着而烦恼。<br><img src="https://i.loli.net/2020/03/06/Vo8RAQgcUdEHjNq.png" alt="20180717173226807.png"><br>distributionUrl:要下载的gradle地址以及版本,gradle-wrapper会去wrapper/list目录下查找,如果没有对应版本的gradle采取下载,所以如果我们卡顿下载不下来,我们可以先去找国内的镜像网站下载下来,自己放入哪个文件夹,便可。</p>
204+
<p>gradle的3种版本:</p>
205+
<p>gradle-xx-all.zip是完整版,包含了各种二进制文件,源代码文件,和离线的文档。例如,<a href="https://services.gradle.org/distributions/gradle-3.1-all.zip" target="_blank" rel="noopener">https://services.gradle.org/distributions/gradle-3.1-all.zip</a></p>
206+
<p>gradle-xx-bin.zip是二进制版,只包含了二进制文件(可执行文件),没有文档和源代码。例如,<a href="https://services.gradle.org/distributions/gradle-3.1-bin.zip" target="_blank" rel="noopener">https://services.gradle.org/distributions/gradle-3.1-bin.zip</a></p>
207+
<p>gradle-xx-src.zip是源码版,只包含了Gradle源代码,不能用来编译你的工程。例如,<a href="https://services.gradle.org/distributions/gradle-3.1-src.zip" target="_blank" rel="noopener">https://services.gradle.org/distributions/gradle-3.1-src.zip</a></p>
208+
<h3 id="那么其他的四个属性呢?就是指定下载的gradle存放的路径"><a href="#那么其他的四个属性呢?就是指定下载的gradle存放的路径" class="headerlink" title="那么其他的四个属性呢?就是指定下载的gradle存放的路径"></a>那么其他的四个属性呢?就是指定下载的gradle存放的路径</h3><p>各项属性的整体含义,如下:</p>
209+
<ul>
210+
<li>(1) 去 <a href="https://services.gradle.org/distributions/gradle-3.1-bin.zip" target="_blank" rel="noopener">https://services.gradle.org/distributions/gradle-3.1-bin.zip</a> 下载gradle的3.1版本,只包含binary的版本。</li>
211+
<li>(2) 下载的gradle-3.1-bin.zip存放到C:\Users&lt;user_name&gt;.gradle\wrapper\dists目录中。<br>(注:具体还有2级目录,即全路径为C:\Users&lt;user_name&gt;.gradle\wrapper\dists\gradle-3.1-bin&lt;url-hash&gt;\,gradle-3.1-bin目录是根据下载的gradle的文件名来定的,<url-hash>目录名是根据distribution url路径字符串计算md5值得来的,具体参考PathAssembler.java中的rootDirName()和getHash(),PathAssembler.java的位置见本文最后的参考路径)</li>
212+
<li>(3) 解压gradle-3.1-bin.zip,将解压后的文件存放到C:\Users&lt;user_name&gt;.gradle\wrapper\dists中。(注:具体还有2级目录,同上)</li>
213+
</ul>
214+
<p>说到这里大家应该知道了gradle与gradle wrapper的关系了吧。以及项目中的种种gradle-wrapper是哪里来的,gradle到底又是在哪,有了很清楚的了解了吧。最后还有一个东西说一下, .gradle文件夹,就是那个跟项目第一个文件夹,带点的那个。那个对我们没什么用,他是gradle运行的时候产生的一些记录性的文件。我们不需要关注。</p>
215+
<p>gradle-wrapper.perporties文件属性的解释参考如下:</p>
216+
<p>参考:<a href="https://blog.csdn.net/u013553529/article/details/55011602" target="_blank" rel="noopener">https://blog.csdn.net/u013553529/article/details/55011602</a></p>
217+
<p>参考:<a href="https://www.cnblogs.com/jiangxinnju/p/8229129.html" target="_blank" rel="noopener">https://www.cnblogs.com/jiangxinnju/p/8229129.html</a></p>
218+
219+
220+
221+
222+
</div>
223+
<div class="article-info article-info-index">
224+
225+
226+
227+
228+
229+
<p class="article-more-link">
230+
<a class="article-more-a" href="/2020/03/06/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E8%AE%B2%E6%B8%85%E6%A5%9AGradle%E4%B8%8EGradle%20Wrapper%E7%9A%84%E5%8C%BA%E5%88%AB/">展开全文 >></a>
231+
</p>
232+
233+
234+
235+
<div class="clearfix"></div>
236+
</div>
237+
</div>
238+
</article>
239+
240+
<aside class="wrap-side-operation">
241+
<div class="mod-side-operation">
242+
243+
<div class="jump-container" id="js-jump-container" style="display:none;">
244+
<a href="javascript:void(0)" class="mod-side-operation__jump-to-top">
245+
<i class="icon-font icon-back"></i>
246+
</a>
247+
<div id="js-jump-plan-container" class="jump-plan-container" style="top: -11px;">
248+
<i class="icon-font icon-plane jump-plane"></i>
249+
</div>
250+
</div>
251+
252+
253+
</div>
254+
</aside>
255+
256+
257+
258+
259+
174260
<article id="post-1119 Pre- and Post-order Traversals (30分)" class="article article-type-post article-index" itemscope itemprop="blogPost">
175261
<div class="article-inner">
176262

0 commit comments

Comments
 (0)