Windows 上的 Android 开发概述

本指南可帮助你在用于开发 Android 应用的 Windows 10 或 Windows 11 计算机上设置开发环境。 Android 是 Google LLC 的商标。 如果你是一位开发人员,想要使用 Windows 操作系统生成适用于 Android 设备的应用程序,以及在其他设备平台上运行的应用程序,本指南适用于你。

你还可以了解如何使用适用于 Android™️ 的 Windows 子系统更新和测试你的 Android 应用程序,以便它将在使用 Amazon Appstore 的 Windows 11 设备上运行。 了解详细信息

Windows 作为开发环境

使用 Windows 操作系统来开发 Android 设备应用有多个路径。 这些路径分为三个主要类型: 本机 Android 开发跨平台开发Android 游戏开发。 本概述将帮助你确定要遵循哪个开发路径来开发 Android 应用,并提供后续步骤来帮助你开始使用 Windows 开发:

此外,本指南还将提供有关使用 Windows 的提示:

本机 Android

Windows 上的本机 Android 开发意味着你的应用仅面向 Android(而不是 iOS 或 Windows 设备)。 你可以使用 Android StudioVisual Studio 在专为 Android 操作系统设计的生态系统中进行开发。 性能将针对 Android 设备进行优化,用户界面的外观将与设备上的其他本机应用一致,并且用户设备的任何特性或功能都可以直接访问和利用。 以本机格式开发应用将有助于适用性,因为它遵循专门为 Android 设备建立的所有交互模式和用户体验标准。

跨平台

跨平台框架提供了单一代码库,可(主要)在 Android、iOS 和 Windows 设备之间共享。 使用跨平台框架可帮助你的应用跨设备平台保持相同的外观、感受和体验,并受益于自动推出的更新和修补程序。 应用在共享代码库中开发,通常采用一种语言,而不需要了解各种特定于设备的代码语言。

尽管跨平台框架旨在尽可能接近本机应用的外观和感觉,但它们永远不会像本机应用那样无缝集成,并且可能会受到速度降低和性能下降的影响。 此外,用于构建跨平台应用的工具可能不具备每个不同设备平台提供的所有功能,这可能需要解决方法。

代码库通常由UI 代码组成,用于创建用于调用 web 服务、访问数据库、调用硬件功能和管理状态的用户界面,如页面、按钮控件、标签、列表等以及逻辑代码。 通常,90% 的代码库可重复使用,不过,通常需要为每个设备平台自定义代码。 这种通用化很大程度上取决于您要构建的应用的类型,但它提供了一个可帮助您做出决策的上下文。

选择跨平台框架

Xamarin Native (Xamarin.Android)

  • UI 代码: 具备 Android Designer 的 XML 和Material Theme
  • 逻辑代码:C# 或 F#
  • 仍然能够利用一些本机 Android 元素,但有利于在其他平台 (iOS, Windows) 上重复使用代码库。
  • 仅逻辑代码在平台之间共享,而不是 UI 代码。
  • 适用于具有特定于设备的用户界面的更复杂的应用。

Xamarin Forms (Xamarin.Forms)

  • UI 代码:带 Visual Studio 的 XAML 和 .NET
  • 逻辑代码: C#
  • 跨 Android、iOS 和 Windows 设备应用大约 60–90% 的逻辑和 UI 代码。
  • 使用常见用户控件,如按钮、标签、条目、ListView、StackLayout、Calendar、TabbedPage 等。创建一个按钮,Xamarin 窗体将找出如何使用绑定库调用 C# 中的 Java 或 Swift 代码,来调用每个平台的本机按钮。
  • 非常适合简单应用,如内部或业务线 (LOB) 应用、原型或 MVP。 使用简单的用户界面,看起来有点标准或通用的任何应用。

React Native

  • UI 代码: JavaScript
  • 逻辑代码: JavaScript
  • React Native 的目标不是编写一次代码并在任何平台上运行,而是学习一次(React 方式)并在任何地方编写。
  • 社区添加了一些工具(如 Expo 和 Create React Native App),以帮助那些想要在不使用 Xcode 或 Android Studio 的情况下构建应用的人。
  • 类似于 Xamarin (C#)、React Native (JavaScript) 调用本机 UI 元素,而无需编写 Java/Kotlin 或 Swift。

渐进式 Web 应用 (PWA)

  • UI 代码: HTML、CSS、JavaScript
  • 逻辑代码: JavaScript
  • PWA 是使用标准模式构建的 web 应用,可让他们利用 web 和本机应用功能。 它们可以在不使用框架的情况下构建,但要考虑的几个常见框架是 IonicPhoneGap
  • PWA 可以安装在 (Android、iOS 或 Windows) 设备上,并且可以脱机工作,这是因为加入了服务辅助角色。
  • PWA 可以在不使用应用商店的情况下仅使用 web URL 分发和安装。 Microsoft Store 和 Google Play 商店允许列出 PWA,但 Apple Store 当前不支持,但它们仍可安装在运行 12.2 或更高版本的任何 iOS 设备上。
  • 若要了解详细信息,请参阅 MDN 上的 PWA 简介

游戏开发

Android 游戏开发通常不同于开发标准 Android 应用,因为游戏通常使用自定义呈现逻辑,通常用 OpenGL 或 Vulkan 编写。 出于此原因,而且由于有许多支持游戏开发的 C 库可用,开发人员通常会结合使用 具备 Visual Studio 的 C/C++ 和 Android 本机开发工具包 (NDK) 来创建适用于 Android 的游戏。 C/C++ 游戏开发入门

开发适用于 Android 的游戏的另一个常见路径是使用游戏引擎。 有许多可用的免费开源引擎,例如 Unity with Visual StudioUnreal EngineMonoGame with XamarinUrhoSharp with XamarinSkiaSharp with Xamarin.Forms CocoonJS、应用游戏工具包、合成、Corona SDK、Cocos 2d 等。

后续步骤