[英]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_path 替换为您想要放置文件的路径
! 将 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.