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

1.前言

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

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

1.移除單元測試
2.配置私有maven庫
3.移除默認的V7庫以及相關資源
4.修改默認的.gitignore模板

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

以下操作建議對相應的文件先進行備份,出了問題概不負責哈。重要的事情說三遍。

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

2.移除單元測試

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

移除單元測試.png

我們的目標是把上面紅色的部分都去掉。

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

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>

解釋:

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

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

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>

解釋:

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

注意,這里的是!improvedTestDeps,跟上面recipe.xml.ftl文件里的improvedTestDeps差了一個感嘆號。所以,improvedTestDeps無論是turefalse的話,都會生成依賴,只是生成的東西不一樣而已。同樣,這里也可以去掉。

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

改為

hasTests=false

解釋:

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

把這些都弄完之后就OK了,是不是很簡單。

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" />

解釋:

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

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>

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

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

解釋:

  • 因為上面improvedTestDeps的值已經被我們改成了false,因此這里就把感嘆號去掉。
  • 修改下面的代碼:
hasTests=true

改為

hasTests=false

解釋:

  • hasTestsfalse的話可以把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>

解釋:

  • 默認會創(chuàng)建test文件夾,這里也是通過improvedTestDeps來決定是否要添加。當然,也可以自己定義另外一個變量來進行控制。

變量控制法也好了~

2.配置私有maven庫

如果我們的工程想改成默認使用私有maven庫,如下圖:


修改倉庫.png

2.1 修改build.gradle.ftl文件

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

        google()
        jcenter()

改為

        maven {
            url "倉庫地址"
        }

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

3.移除默認V7庫以及相關資源

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

1.移除V7庫依賴
2.移除colors
3.移除styles
4.修改application主題

3.1 移除V7庫依賴,修改recipe.xml.ftl文件

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

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

直接刪掉相應的依賴。

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.修改默認的.gitignore模板

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

*.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目錄將會被忽略掉,這樣就不用每次都去修改.gitignore文件了,畢竟很容易就會忘掉這玩意。如果還需忽略其他的一些文件,同樣可以在這個模板上面修改即可。

5.自定義模板

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

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容