如何为安卓工作室创建"New Project"插件



我想开发一个出现在新建项目向导中的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使用?

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

  1. 创建一个 Jetbrains 插件项目(使用 Github 模板或类似的东西)。

  2. 在 resources/META-INF/plugin 中.xml添加以下扩展:

    <extensions defaultExtensionNs="com.android.tools.idea.wizard.template">
    <wizardTemplateProvider implementation="your.template.provider"/>
    
  3. 创建模板提供程序类。

模板提供程序可能是这样的:

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
}
}

最新更新