若要为 Android 应用程序生成 .NET,需要安装 Android SDK 和 Java SDK。
使用“InstallAndroidDependencies”目标
安装 Android 应用程序所需依赖项的最简单方法是运行 InstallAndroidDependencies
MSBuild 目标。
此目标将检查应用程序项目并安装所需的确切组件。 如果将项目更新为面向新的 Android API,则需要再次运行此目标,以确保获得所需的组件。
例如,如果要将项目从 API 32 升级到目标 API 34,则只会安装 API 32。 InstallAndroidDependencies
运行目标将为你安装 API 34。
如果没有安装 Android SDK,此目标还可以处理在干净计算机上安装 SDK。 可以通过设置 AndroidSdkDirectory
MSBuild 属性来更改安装的目标。 如果提供了 MSBuild 属性, JavaSdkDirectory
它还将安装 Java SDK。
dotnet build -t:InstallAndroidDependencies -f net8.0-android -p:AndroidSdkDirectory=c:\work\android-sdk -p:JavaSdkDirectory=c:\work\jdk -p:AcceptAndroidSdkLicenses=True
下面是安装依赖项时目标将使用的所有参数:
-p:AndroidSdkDirectory="<PATH>"
将 Android 依赖项安装或更新到指定的路径。
注意:必须使用绝对路径;Unix 开发人员不应使用波形符(~
),因为它在命令行参数中使用时不会展开。-p:JavaSdkDirectory="<PATH>"
将 Java 安装到指定的路径。
注意:必须使用绝对路径;Unix 开发人员不应使用波形符(~
),因为它在命令行参数中使用时不会展开。-p:AcceptAndroidSDKLicenses=True
可接受必要的 Android 许可证以进行开发。
注意
若要简化开发,请尝试避免使用包含空格或非 ASCII 字符的路径。
手动安装 Android SDK
你可能会发现需要手动安装 Android SDK:
转到 Android Studio 下载。
向下滚动到“仅限命令行工具”部分,并下载操作系统的 zip 文件。在
android-sdk
硬盘驱动器上的某个位置创建目录。 使生活更轻松,使其靠近驱动器的根目录。 例如,c:\android-sdk
。将文件从 zip 文件解压缩到此目录中。 最终应有一个文件夹结构,例如
android-sdk\cmdline-tools
打开终端或命令提示符。
导航到
android-sdk\cmdline-tools\bin
所创建的目录中的目录。sdkmanager
运行命令以安装所需的组件。
例如,若要安装最新的平台和平台工具,请使用:
sdkmanager "platforms;android-34" "platform-tools" "build-tools;34.0.0" "emulator" "system-images;android-34;default;x86_64" "cmdline-tools;11.0" --sdk_root=c:\android-sdk
请注意,应自由使用双引号将分号括起来,该分号 ;
是组件名称的一部分。
系统将提示你接受许可证,之后 Android SDK 将安装。
可用于 sdkmanager
安装其他组件。 可以使用 --list
参数获取所有可用组件的列表。 然后,可以浏览列表并找到所需的其他组件。
sdkmanager --list
以下组件类型可用于了解:
platforms;android-XX
:将平台android-XX
安装到 SDK 中。 将 XX 替换为所选平台的 API 级别。 例如platforms;android-30
,将安装 Android API 30,同时platforms;android-21
安装 Android API 21。system-images;android-XX;default;x86_64
:为特定 API 级别安装仿真器映像。x86_64
可以交换不同的 API,例如x86
,arm64-v8a
和x86_64
。 这些反映所安装的映像的 ABI。 如果对特定 ABI 有问题,这非常有用。
最好设置 ANDROID_HOME
环境变量,因为这允许从命令行使用某些工具。
手动安装 Microsoft JDK
若要为 Android 应用程序或库生成 .NET,需要安装 Java 开发工具包的版本。 建议使用 Microsoft Open JDK,这已针对适用于 Android 版本的 .NET 进行测试:
根据平台运行相应的安装程序。
设置环境变量也是很好的做法
JAVA_HOME
。 这样,就可以从命令提示符或终端使用 JDK。