簡體   English   中英

Android Studio 模板包名稱

[英]Android Studio Template package name

我嘗試通過此指令制作類似活動模板的 android studio 模板

globals.xml.ftl 中設置的當前包

 <global id="srcOut" value="${srcDir}/${slashedPackageName(packageName)}" />

並創建模板文件

<instantiate from="src/app_package/LifecycleFragment.java.ftl"
               to="${escapeXmlAttribute(srcOut)}/${className}.java" />

它強制我的模板文件為 src/main/java/myPackageName

但我目前的軟件包是 kotlin

如何在當前選定的文件夾中創建模板?

對不起,如果我的回答遲到了,但也許它對某人有用。

要將源包從 java 更改為 kotlin,請嘗試將此行添加到 globals.xml.ftl:

<global id="kotlinMainSourceSet" value="${srcOut?replace('java','kotlin') />

在您的receipt.xml.ftl 中使用它,如下所示:

將 SomeClass.kt.ftl 替換為 app_package 中的類;

將 your_needed_pa​​th 替換為您想要放置文件的路徑

將 someClassName 替換為模板中 className 的 id。

<instantiate
        from="src/app_package/SomeClass.kt.ftl"
        to="${escapeXmlAttribute(kotlinMainSourceSet)}/${your_needed_path}/${someClassName}.kt" />

此外,我將回答我也遇到過的 @AlexeiKorshun 問題:在創建目錄時添加了 applicationIdSuffix。 這可以通過使用以下內容覆蓋 globals.kt.ftl 中的 srcOut 來輕松解決:

<global id="srcOut" value="${srcDir}/${slashedPackageName(packageName?replace('.dev|.qa2|.stage', '', 'r'))}" />

以.dev/.qa2/.stage為例添加,請自行替換。

如果不使用默認約定,則可以使用此選項。

sourceSets {
    main.kotlin.srcDirs += 'src/main/myKotlin'
    main.java.srcDirs += 'src/main/javaPackage'
}

// myKotlin必須是您的當前目錄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM