在Android Studio中选择项目模板后,不显示语言选项。

7
Android Studio中的“新项目”向导没有显示“语言”选项。我想使用Java,但它强制我使用Kotlin。

Language option is missing.

我打算用Java进行Android开发。请问我应该如何创建一个Java项目?

3个回答

12

您选择了一个Jetpack Compose项目模板,而Jetpack Compose只能与Kotlin一起使用

具体来说,您选择了下面显示Jetpack Compose标志的“空活动”模板:

"New Project" wizard with "Empty Activity" selected.  The image above "Empty Activity" displays the Jetpack Compose logo.

为了解决这个问题,请选择任何名称中带有“Views”的模板,或选择“无活动”模板。在任何这些模板中,您都将获得“语言”下拉菜单,并能够在其中选择Java:

New project wizard showing the configuration for an "Empty Views Activity" project.  A "Language" dropdown with "Java" and "Kotlin" options is present.

话虽如此,Android开发越来越倾向于Kotlin;你可能想考虑尝试一下Kotlin。


2

我正在使用 Android Studio Flamingo | 2022.2.1 补丁 1

除了所选的 Activity 外,您可以选择并使用 Java 语言来编写其他 Activity。

这个所选的 Activity 是 Jetpack Compose Activity。Jetpack Compose 只支持 Kotlin 语言。

更多详情请参见:https://developer.android.com/jetpack/compose

enter image description here


-3
如果你想将现有的Android Studio项目从Kotlin更改为Java,可以按照以下步骤操作:
在Android Studio中打开你现有的Kotlin项目。
在项目视图中(通常位于Android Studio窗口的左侧),右键单击项目的模块(通常命名为"app")。
从上下文菜单中导航到"New" > "Other" > "Empty Activity"。
在弹出的"Configure Activity"对话框中,将"Language"下拉菜单设置为"Java"。
点击"Finish"创建新的Java Activity。
创建新的Java Activity后,可以安全地删除现有的Kotlin Activity。右键单击Kotlin Activity文件(例如MainActivity.kt),选择"Delete"。
在提示时,选择"Move to Recycle Bin"或"Delete Permanently"(如果需要,请确保备份)。
最后,还应该将新的Java Activity重命名(例如从MainActivity.java重命名为MainActivity),以确保它成为应用程序的主入口点。
完成这些步骤后,你的项目将变为Java而不是Kotlin。记得更新项目中对Kotlin Activity或Kotlin特定代码的任何引用,改为使用Java代码。
请记住,更改语言可能需要将任何特定于Kotlin的功能和语法适应为Java的等效物,因此根据项目的复杂性可能需要进行一些代码修改。
在将项目从Kotlin转换为Java后,您需要对AndroidManifest.xml文件进行一些更新:
打开“app”模块中的AndroidManifest.xml文件。
在主活动的标签中(之前是MainActivity.kt),将android:name属性从Kotlin类引用更改为Java类引用。例如:

From: android:name=".MainActivityKt"
To: android:name=".MainActivity"

如果您手动将新的Java活动(从MainActivity.java更名为MainActivity),请确保清单中的android:name属性与新名称匹配。
如果您的项目中还有其他已转换为Java的Kotlin活动,请相应地更新它们的android:name属性。
如果在清单中存在对Kotlin特定功能或库的其他引用,则可能需要根据您在代码中所做的更改来更新或删除它们。
除了这些更改之外,如果您将项目从Kotlin转换为Java,则不需要进行任何重大调整。在转换后,请务必彻底测试您的应用程序,以确保一切按预期工作。

2
使用ChatGPT发布答案是不允许的。请参阅https://meta.stackoverflow.com/questions/421831/temporary-policy-chatgpt-is-banned - Eric Aya
1
正如前面所提到的,这里不允许使用由人工智能生成和/或辅助的答案。如果你在回答中使用了人工智能工具进行辅助,请删除它。我们希望你能成为我们社区的一员,并在未来以你自己的高质量帖子做出贡献。谢谢! - NotTheDr01ds
1
读者应该仔细而批判地审查这个答案,因为由人工智能生成的信息常常包含基本错误和误导性信息。如果您发现质量问题和/或有理由相信这个答案是由人工智能生成的,请相应地留下反馈。 - NotTheDr01ds

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