如何在Android Studio中创建“新项目”插件

5
我希望开发一个Android Studio插件,可以在新项目向导中显示。
我正在使用Android Studio。
Android Studio 3.4.2
Build #AI-183.6156.11.34.5692245, built on June 27, 2019
JRE: 1.8.0_152-release-1343-b01 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.6

标准的Android Studio新项目向导可以通过

FILE > NEW > NEW PROJECT... > "CREATE NEW PROJECT" WIZARD

该向导包含五个选项卡。
"Phone and Tablet", "Wear OS", "TV", "Android Auto", and "Android Things"

我无法在“手机和平板电脑”窗口中添加额外的项目或添加第六个选项卡。

我已成功将附加的“活动”类型添加到现有项目中。

是否可能实现我的预期结果?

还是“新项目”向导仅供Google使用而“锁定”了它?


在我看来,这是不可能的。 - Blnpwr
请查看以下链接:https://dev59.com/TFsW5IYBdhLWcg3wQVVC - murgupluoglu
1个回答

2

虽然这是一个老问题,但由于我也花了一些时间才找到答案,所以我也会在这里留下答案。现在有一个扩展点可以用来添加自己的向导。以下是您需要执行的操作:

  1. Create a Jetbrains plugin project (use the Github template or something similar).

  2. In the resources/META-INF/plugin.xml add the following extension:

    <extensions defaultExtensionNs="com.android.tools.idea.wizard.template">
    <wizardTemplateProvider implementation="your.template.provider"/>
    
  3. Create the template provider class.

模板提供程序可以是这样的:
class MyTemplateProvider: WizardTemplateProvider() {
      override fun getTemplates() = listOf(myTemplate)
}

val myTemplate = template {
    name = "My Template"
    description = "Foo"
    documentationUrl = "example.com"
    minApi = 21
    category = Category.Other
    formFactor = FormFactor.Mobile
    thumb = { Thumb(path = { <URL to an image> }) }
    screens = listOf(
        WizardUiContext.ActivityGallery,
        WizardUiContext.FragmentGallery,
        WizardUiContext.MenuEntry,
        WizardUiContext.NewProject,
        WizardUiContext.NewModule,
    )

    recipe = { data: TemplateData ->
        val config = data as ModuleTemplateData
        // TODO generate the template project
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接