我想开发一个出现在新建项目向导中的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使用?
老问题,但由于我也花了一段时间才找到答案,所以我也会把它留在这里。现在可以使用扩展点来添加自己的向导。以下是您需要执行的操作:
-
创建一个 Jetbrains 插件项目(使用 Github 模板或类似的东西)。
-
在 resources/META-INF/plugin 中.xml添加以下扩展:
<extensions defaultExtensionNs="com.android.tools.idea.wizard.template"> <wizardTemplateProvider implementation="your.template.provider"/>
-
创建模板提供程序类。
模板提供程序可能是这样的:
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
}
}