gpt4 book ai didi

带有两个或多个模块的 Android Studio 自定义项目模板

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:38 24 4
gpt4 key购买 nike

我正在尝试使用 Free Marker 创建一个带有域和数据模块的 Android Studio 自定义项目模板。但是我无法在创建新项目时创建新模块。请帮我解决这个问题

编辑:
正在使用此博客创建自定义模板
https://robusttechhouse.com/tutorial-how-to-create-custom-android-code-templates/
但它只会生成一个应用模块

最佳答案

这绝非易事。

了解您想要完成的任务背后的复杂性
必须通读 Android Studio 和/或 IntelliJ 社区版的源代码。

因此,我将概述解决您的问题的几种可能的替代解决方案,然后我将进行解释
与创建自己的 Android 项目模板相关的一些复杂性。

  • 第一种方法:创建一个已有两个模块的模板应用项目。
    这是最简单的方法。
    您可以创建此项目作为其他项目的基础。
    您可以将其置于版本控制之下并重新使用它的特定版本。
    从 Android Studio,您可以使用以下方法导入:File-> New-> Import Project...
    File-> New-> Project From Version Control
  • 第二种方法:修改您要使用的 NewAndroidProject 模板和/或模块模板。
    导航到以下路径:<your_androidstudio_installation_directory>/plugins/android/lib/templates/gradle-projects/NewAndroidProject
    这是用于大多数(或所有)Android 项目的模板。

    相反,这个模板是用于您在应用程序中使用的每个模块的模板,例如“应用程序”模块、库模块以及其他一些模块。
    您可以自定义其中的文件,但它会影响您在 Android Studio 中创建的所有项目。<your_androidstudio_installation_directory>/plugins/android/lib/templates/gradle-projects/NewAndroidModule
    修改这两个模板可能会也可能不会解决你的问题,我不打算深入描述
    你怎么能做到这一点,因为你可能希望保持创建新项目的标准方式完好无损。

    第二种方法当然不能回答您的问题,这就是我向您介绍第 3 种方法的原因。
  • 第三种方法:为 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 用于从头开始创建一个新项目。
    在您的情况下,您必须创建一个新向导,该向导将实现更多步骤
    比默认的一个,好处是保持最后一个完好无损。

    您可以首先下载源代码并浏览以下文件:
    ModelWizard
    ModelWizardStep
    ActivityGalleryStep
    AndroidNewProjectAction

    但在你开始之前让我告诉你,除非你在一个团队中工作,否则
    创建一个解决您问题的插件将是一项巨大的努力。
    Android Studio/IntelliJ IDEA CE 本身就是一个生态系统。它可能需要你几个
    几周只是为了掌握开发插件的基础知识,所以这取决于你。开发一个插件并学习这个 IDE 的工作原理是一个很好的见解,因为一旦你了解了这些部分是如何连接在一起的,你就可以更加自动化你的工作流程,但在这种情况下,我会通过使用第一个来解决问题方法的简单性和有效性。

  • TL; 博士;
    使用第一种方法。

    如果您在中/大型团队中工作,请开发一个插件。 (第三种方法)

    编辑:插件的第三种方法实现(插件开发入门):

    IntelliJ 平台 SDK 文档:
    http://www.jetbrains.org/intellij/sdk/docs/index.html

    这是我的 Droidcon 意大利 2017 演讲的示例代码的 github 存储库
    我和我一起工作的同事一起做的:
    https://github.com/synesthesia-it/droidcon_as_plugin

    这是一个基本示例,您可以下载、编译、安装和
    实验。它只做一些简单的事情来演示基本概念。

    youtube上有一些关于这个主题的视频:
  • 从头开始实时编写 IntelliJ IDEA 插件
    [ https://www.youtube.com/watch?v=-ZmQD6Fr6KE ]
  • 从头开始实时编码 IntelliJ IDEA 插件(第 2 部分)
    [ https://www.youtube.com/watch?v=s_cCB2R5_1k ]

  • IntelliJ SDK 文档很棒,但可用的最佳文档是来自可供下载的其他插件的源代码。许多项目都提供了一个存储库链接,您可以在其中下载代码并对其进行试验。
    https://plugins.jetbrains.com/idea

    @OMAK
    现在让我告诉您,您可能不会在可用的文档或插件中找到您要查找的内容。
    我提供的内容主要针对 IDEA IDE(Android Studio 是基于它的),并且没有做您想做的事情的文档。没有指南解释如何通过向其添加步骤或从非标准目录导入模板来修改 android studio 中的向导。
    您正在开发的解决方案与我在我工作的公司开发的解决方案非常相似。很难开始,但是能够开发插件为自动化开发工作流程的多个部分提供了无限的可能性。

    我可能会写一个关于如何在不那么遥远的 future 实现这一目标的简短指南,以记录如何实现它。目前,最好通过观看 youtube 上的教程自行开始。

    关于带有两个或多个模块的 Android Studio 自定义项目模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43676321/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com