AndroidStudio加速之--(二)巧用Project Template
相关文章:
AndroidStudio加速之–构件仓库Artifactory
AndroidStudio加速之–巧用Project Template【本文】
一、前言
经过上文在构件仓库上的实践,我们已经实现了首次构建速度的大大提升。然而昨晚群里的小伙伴又抛出一个疑问,就是我们每次创建工程的时候,能不能自动把之前的内网仓库地址,以及gradle路径进行修改从而再次解放双手的重复劳动呢。
然后经过和群友的商讨,这里就揭晓答案了–Project Template。可能我们在编程的过程中经常用的是LiveTemplates,从而忽略了Project Template。本文就针对上述问题来入手,通过修改Project Template来实现。
其实当我们发现这个Project Template之后,我们是不是可以考虑下定制我们自己的工程了呢,除了上面相关的定制,比如我们想新建多模块的工程,那我要一个一个的模块去创建么,有没有可以一键创建多个模块的方法呢,自定义Project Template可不可以实现呢,这里不是本文的重点,本人稍后会对此进行探索和实践,现在就当做给大家的思维发散吧,希望各位一起去深入探究下Project Template。
二、初识Project Template
你是什么时候注意到这个Project Template的呢,我想大概是你要创建新工程的时候,我们点击File->New->New project,这时候就会弹出如下页面,让我们选择工程模板(根本没看过标题的举手,算我一个)。可以看到下文各种各样的模板可以给我们创建。
三、Project Template存放位置
那么这些模板的存放位置在哪里呢?
答案:在你Android Studio安装目录的plugins\android\lib\templates文件夹下,例如我电脑是64位默认装在了C盘,所以位置是 C:\Program Files\Android\Android Studio\plugins\android\lib\templates,可以看到该文件夹下有activities,fragments等等文件夹,里面包含了各种相关的模板,用记事本打开各个文件去查看,可以看到里面都是我们工程中熟悉的代码。
而要解决我们前言中提到的两个问题,那么只需分别去查看这俩文件:
- gradle-projects\NewAndroidProject\root\build.gradle.ftl
- gradle\wrapper\gradle\wrapper\gradle-wrapper.properties
第一个文件原文如下:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
<#if generateKotlin>ext.kotlin_version = '${kotlinVersion}'</#if>
repositories {
google()
jcenter()
<#if includeKotlinEapRepo!false>maven { url '${kotlinEapRepoUrl}' }</#if>
}
dependencies {
classpath 'com.android.tools.build:gradle:${gradlePluginVersion}'
<#if generateKotlin>classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"</#if>
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
<#if includeKotlinEapRepo!false>maven { url '${kotlinEapRepoUrl}' }</#if>
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
第二个文件原文如下:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
看到这里,怎么解决前言中的问题已经很明显了吧。
注意:如果无法直接修改上述两者的内容,需要先将这两个文件拷贝出来,修改后再粘贴回去直接替换源文件。
【卧槽,修改的第二处新建工程居然不生效,正在查找中,肯定是有脚本又把这个属性文件修改了】
四、总结
本文只是根据实际情况,稍微修改了下Project Template的文件。然而工程模板不只是强大在这里,后续我们就一起努力实现前言中所说的–一键生成多模块的工程,甚至是组件化工程吧。这里给自己挖个坑,看什么时候能填完,填完之后必定补上相关文章。