作者:手机用户2502873425 | 来源:互联网 | 2023-02-05 13:12
我正在尝试使用免费标记一起创建一个包含域和数据模块的Android Studio自定义项目模板.但是我无法在新项目创建时创建新模块.请帮帮我
编辑:我正在使用此博客创建自定义模板
https://robusttechhouse.com/tutorial-how-to-create-custom-android-code-templates/
但它只会生成一个应用模块
1> codeWhispere..:
这不是一件轻而易举的事.
要了解您想要完成的任务背后的复杂性,您必须阅读Android Studio和/或IntelliJ Community Edition的源代码.
因此,我将概述您的问题的几种可能的替代解决方案,然后我将解释与创建您自己的Android项目模板相关的一些复杂性.
第一种方法:创建一个已有两个模块的模板应用程序项目.
这是最简单的方法.您可以创建此项目,作为其他项目的基础.您可以将其置于版本控制之下并重新使用它的特定版本.在Android Studio中,您可以使用以下方法导入:
File-> New-> Import Project...
File-> New-> Project From Version Control
第二种方法:修改NewAndroidProject模板和/或要使用的模块模板.
导航到以下路径:
/plugins/android/lib/templates/gradle-projects/NewAndroidProject
这是用于大多数(或所有)Android项目的模板.
相反,这个模板用于您在应用程序中使用的每个模块,例如"app"模块,库模块和其他一些模块.您可以自定义其中的文件,但它会影响您在Android Studio中创建的所有项目.
/plugins/android/lib/templates/gradle-projects/NewAndroidModule
修改这两个模板可能会也可能不会解决您的问题,我不打算深入描述您如何做到这一点,因为您可能希望保持创建新项目的标准方式.
第二种方法当然不能回答你的问题,这就是我向你提出第三种方法的原因.
第三种方法:为Android Studio构建自己的插件
难以将自己的项目模板添加到Android Studio的原因是,到目前为止,Android Studio已经过编程(和硬编码)以从特定目录中选择项目模板文件并处理它们使用FreeMarker模板引擎,并最终使用Gradle导入器处理该结果,以便从头开始创建新项目时显示的状态.
要见证此行为,请尝试更改/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/build.gradle.ftl文件,即使向其添加注释,重新启动Android Studio,也可以启动新项目.您会注意到您在新项目的根目录中的build.gradle文件中的更改.
现在,Android Studio被硬编码为使用该特定模板,这是您无法更改其行为的原因,除非您更改模板或为Anroid Studio构建自己的插件.
通过为AS开发自己的插件,您将能够重用AS用于从头创建新项目的特定组件和向导.在你的情况下,你将不得不创建一个新的向导,它将实现比defult更多的步骤,并保留最后一个完整的好处.
您可以从下载源代码开始,然后浏览以下文件:
ModelWizard
ModelWizardStep
ActivityGalleryStep
AndroidNewProjectAction
但在你开始之前,让我告诉你,除非你在团队中工作,否则创建一个解决你的问题的插件将是一项巨大的努力.Android Studio/IntelliJ IDEA CE本身就是一个生态系统.您可能需要花费几周的时间来掌握开发插件的基础知识,所以这取决于您.开发插件并了解这个IDE如何工作是一个很好的洞察力,因为一旦你理解了部件如何连接在一起就能够自动化你的工作流程,但在这种情况下,我将通过使用第一个来解决问题方法简单而有效.
TL; DR; 使用第一种方法.
如果您在中型/大型团队中工作,则开发插件.(第3种方法)
编辑:插件的第三种方法实现(插件开发入门):
IntelliJ Platform SDK文档:http:
//www.jetbrains.org/intellij/sdk/docs/index.html
这是一个github回购,用于我的Droidcon Italy 2017演讲的示例代码,我与我合作的同事一起做过:https:
//github.com/synesthesia-it/droidcon_as_plugin
这是您可以下载,编译,安装和试验的基本示例.演示基本概念很简单.
youtube上有一些关于此主题的视频:
从头开始实时编写IntelliJ IDEA插件[ https://www.youtube.com/watch?v=-ZmQD6Fr6KE ]
实时编写Scratch的IntelliJ IDEA插件(第2部分)
[ https://www.youtube.com/watch?v=s_cCB2R5_1k ]
IntelliJ SDK文档很棒,但可用的最佳文档是可供下载的其他插件的源代码.许多项目都提供了一个指向repo的链接,您可以在其中下载代码并进行实验.
https://plugins.jetbrains.com/idea
@OMAK
现在让我告诉你,你可能不会在文档或插件中找到你想要的东西.
我提供的内容主要针对IDEA IDE(Android Studio基于它),并且您要做的事情的文档根本就不存在.没有指南解释如何通过添加步骤或从非标准目录导入模板来修改android studio中的向导.
您正在处理的解决方案与我在我工作的公司中开发的解决方案非常相似.它很难入门,但能够开发插件提供了无限的可能性来自动化开发工作流程的多个部分.
我可以写一篇关于如何在不远的将来实现这一目标的简短指南来记录如何实现它.目前,最好通过观看youtube上的教程自行开始.