提升開(kāi)發(fā)效率之修改Android Studio默認(rèn)的project和module模板

1.前言

每次使用Android Studio創(chuàng)建新的工程時(shí),可能都需要手動(dòng)去修改一些配置,有沒(méi)有覺(jué)得很煩呢?下面教你如何修改Android Studio默認(rèn)的project和module模板。整完這些之后,相信能夠節(jié)省你三秒的時(shí)間喔~~

本文主要介紹以下幾種配置,可以按需去修改:

1.移除單元測(cè)試
2.配置私有maven庫(kù)
3.移除默認(rèn)的V7庫(kù)以及相關(guān)資源
4.修改默認(rèn)的.gitignore模板

如果你還想修改其他配置的話(huà),那么可以看下這篇文章:
自定義Android Studio代碼模板
看完這個(gè)之后,那么你應(yīng)該可以隨心所欲,為所欲為了。

以下操作建議對(duì)相應(yīng)的文件先進(jìn)行備份,出了問(wèn)題概不負(fù)責(zé)哈。重要的事情說(shuō)三遍。

修改前先備份~
修改前先備份~
修改前先備份~

2.移除單元測(cè)試

單元測(cè)試其實(shí)是個(gè)好東西喔。但是有時(shí)候新建的工程不需要單元測(cè)試,又嫌礙眼的話(huà),那么可以把默認(rèn)的單元測(cè)試給移除掉,瞬間清爽了,媽媽再也不用擔(dān)心你寫(xiě)的代碼出bug了(才怪)。

移除單元測(cè)試.png

我們的目標(biāo)是把上面紅色的部分都去掉。

移除單元測(cè)試的話(huà)有兩種方法,一種是暴力法:直接把相關(guān)控制的代碼和配置刪掉或注釋掉;另外一種是變量控制法:通過(guò)讀取變量開(kāi)關(guān)來(lái)決定是否引入單元測(cè)試。推薦使用變量控制法。

2.1 暴力法--刪掉或注釋

2.1.1 修改recipe.xml.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\recipe.xml.ftl

  • 可以把下面的代碼直接刪掉或注釋
<instantiate from="root/test/app_package/ExampleInstrumentedTest.${ktOrJavaExt}.ftl"
                   to="${escapeXmlAttribute(testOut)}/ExampleInstrumentedTest.${ktOrJavaExt}" />
                   
<#if improvedTestDeps>
    <dependency mavenUrl="com.android.support.test:runner:+" gradleConfiguration="androidTestCompile" />
    <dependency mavenUrl="com.android.support.test.espresso:espresso-core:+" gradleConfiguration="androidTestCompile" />
</#if>

<#if improvedTestDeps>
    <dependency mavenUrl="com.android.support.test:runner:+" gradleConfiguration="androidTestCompile" />
    <dependency mavenUrl="com.android.support.test.espresso:espresso-core:+" gradleConfiguration="androidTestCompile" />
</#if>

解釋?zhuān)?/p>

  • instantiate語(yǔ)句里做的就是在我們的工程下面創(chuàng)建test文件夾和相應(yīng)的文件。
  • 后面則是兩個(gè)if語(yǔ)句,根據(jù)improvedTestDeps值來(lái)決定是否要添加依賴(lài)。

把上面這些都去掉的話(huà)那么就不會(huì)創(chuàng)建test文件夾,也不會(huì)添加單元測(cè)試的依賴(lài)了。

2.1.1 修改build.gradle.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl

  • 可以把下面的代碼直接刪掉或注釋
    <#if !improvedTestDeps>
    ${getConfigurationName("androidTestCompile")}('com.android.support.test.espresso:espresso-core:+', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    </#if>

解釋?zhuān)?/p>

  • 同樣也是根據(jù)improvedTestDeps來(lái)決定是否要添加依賴(lài)。

注意,這里的是!improvedTestDeps,跟上面recipe.xml.ftl文件里的improvedTestDeps差了一個(gè)感嘆號(hào)。所以,improvedTestDeps無(wú)論是turefalse的話(huà),都會(huì)生成依賴(lài),只是生成的東西不一樣而已。同樣,這里也可以去掉。

  • 修改下面的代碼:
hasTests=true

改為

hasTests=false

解釋?zhuān)?/p>

  • hasTestsfalse的話(huà)可以把testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"這句去掉。

把這些都弄完之后就OK了,是不是很簡(jiǎn)單。

2.2 變量控制法

2.2.1 修改globals.xml.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\common\globals.xml.ftl

將以下代碼

    <global id="unitTestsSupported" type="boolean" value="${(compareVersions(gradlePluginVersion, '1.1.0') >= 0)?string}" />
    <global id="improvedTestDeps" type="boolean" value="${(compareVersionsIgnoringQualifiers(gradlePluginVersion, '3.0.0') >= 0)?string}" />

改為

    <global id="unitTestsSupported" type="boolean" value="false" />
    <global id="improvedTestDeps" type="boolean" value="false" />

解釋?zhuān)?/p>

  • 可以回顧上面暴力法中的代碼,improvedTestDeps值是用來(lái)決定是否要添加依賴(lài)的。因此我們把這個(gè)值直接設(shè)為false的話(huà),那么就不會(huì)添加依賴(lài)了。當(dāng)然,也可以根據(jù)實(shí)際需要,改成更靈活的設(shè)置。

2.2.2 修改build.gradle.ftl文件

該文件路徑為:"Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl

將以下代碼

    <#if !improvedTestDeps>
    ${getConfigurationName("androidTestCompile")}('com.android.support.test.espresso:espresso-core:+', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    </#if>

改為(主要是去掉感嘆號(hào))

    <#if improvedTestDeps>
    ${getConfigurationName("androidTestCompile")}('com.android.support.test.espresso:espresso-core:+', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    </#if>

解釋?zhuān)?/p>

  • 因?yàn)樯厦鎖mprovedTestDeps的值已經(jīng)被我們改成了false,因此這里就把感嘆號(hào)去掉。
  • 修改下面的代碼:
hasTests=true

改為

hasTests=false

解釋?zhuān)?/p>

  • hasTestsfalse的話(huà)可以把testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"這句去掉。

2.2.3 修改recipe.xml.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\recipe.xml.ftl

    <instantiate from="root/test/app_package/ExampleInstrumentedTest.${ktOrJavaExt}.ftl"
                   to="${escapeXmlAttribute(testOut)}/ExampleInstrumentedTest.${ktOrJavaExt}" />

改為

<#if improvedTestDeps>
    <instantiate from="root/test/app_package/ExampleInstrumentedTest.${ktOrJavaExt}.ftl"
                   to="${escapeXmlAttribute(testOut)}/ExampleInstrumentedTest.${ktOrJavaExt}" />
</#if>

解釋?zhuān)?/p>

  • 默認(rèn)會(huì)創(chuàng)建test文件夾,這里也是通過(guò)improvedTestDeps來(lái)決定是否要添加。當(dāng)然,也可以自己定義另外一個(gè)變量來(lái)進(jìn)行控制。

變量控制法也好了~

2.配置私有maven庫(kù)

如果我們的工程想改成默認(rèn)使用私有maven庫(kù),如下圖:


修改倉(cāng)庫(kù).png

2.1 修改build.gradle.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\build.gradle.ftl

        google()
        jcenter()

改為

        maven {
            url "倉(cāng)庫(kù)地址"
        }

注意有兩處地方需要修改,別漏了。好了,完。

3.移除默認(rèn)V7庫(kù)以及相關(guān)資源

如果我們新建的工程不想使用默認(rèn)的V7庫(kù)等。同樣也可以去移除掉。
主要有以下4個(gè)地方需要修改:

1.移除V7庫(kù)依賴(lài)
2.移除colors
3.移除styles
4.修改application主題

3.1 移除V7庫(kù)依賴(lài),修改recipe.xml.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\recipe.xml.ftl

    <dependency mavenUrl="com.android.support:appcompat-v7:${buildApi}.+" />

直接刪掉相應(yīng)的依賴(lài)。

3.2 移除colors,修改colors.xml文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\res\values\colors.xml

    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>

上面代碼直接刪掉。

3.3 移除styles,修改styles.xml.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\res\values\styles.xml.ftl

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat<#if
            minApiLevel gte 11>.Light</#if><#if
            minApiLevel gte 14>.DarkActionBar</#if>">
        <!-- Customize your theme here. -->
<#if (buildApi gte 22) >
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</#if>
    </style>

上面代碼直接刪掉。

3.4 修改application主題,修改shared_macros.ftl文件

該文件路徑為:Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\shared_macros.ftl

    android:theme="@style/AppTheme"

上面代碼直接刪掉。

4.修改默認(rèn)的.gitignore模板

該文件路徑為Android Studio安裝路徑\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\project_ignore
其文件內(nèi)容如下:

*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild

通常,.idea目錄下的都是可以全部忽略的,那么我們可以改成以下:

*.iml
.gradle
/local.properties
/.idea
.DS_Store
/build
/captures
.externalNativeBuild

那么.idea目錄將會(huì)被忽略掉,這樣就不用每次都去修改.gitignore文件了,畢竟很容易就會(huì)忘掉這玩意。如果還需忽略其他的一些文件,同樣可以在這個(gè)模板上面修改即可。

5.自定義模板

上面都是一些修改Android Studio默認(rèn)自帶的模板。如果你也想自定義一套模板,那么,可以看下這個(gè):自定義Android Studio代碼模板

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容