Android虚拟机(Android应用程序开发中的重要作用)

Android虚拟机(Virtual Machine)是一种运行在Android系统上的虚拟环境,也是Android系统的核心部分。它是一个软件虚拟机,用来运行Android应用程序。它能够使应用程序在不同的手机上运行,而无需修改源代码。

Android虚拟机支持多种开发语言,如Java、C、C++和Kotlin等,可以使开发者以不同的语言来编写Android应用程序。Android虚拟机会编译这些语言,然后将其编译成可以在Android系统上运行的机器码。

安卓虚拟机

Android虚拟机具有良好的安全性,可以有效防止非法程序破坏Android系统。它能够有效的隔离Android应用程序,以免它们相互影响,从而保证Android系统的稳定运行。

Android虚拟机还可以支持虚拟机调试器,可以检测程序的性能和效率,并能够帮助开发者发现程序中的错误和bug,从而提高应用程序的质量。

Android虚拟机在Android应用程序开发中起着至关重要的作用,它使Android应用程序能够在不同的Android系统上运行,而无需修改源代码,极大的提高了Android应用程序的开发效率。

Android 虚拟设备 (AVD) 是一种配置,用于定义您要在 Android 模拟器中模拟的 Android 手机、平板电脑、Wear OS、Android TV 或 Automotive OS 设备的特性。 设备管理器是一款可从 Android Studio 启动的工具,旨在帮助您创建和管理 AVD。

如需打开新的设备管理器,请执行以下操作之一:

  • 在 Android Studio 欢迎屏幕上,依次选择 More Actions > Virtual Device Manager。
  • 打开项目后,从主菜单栏中依次选择 View > Tool Windows > Device Manager,然后点击 Create device。

如果您希望使用虚拟设备以可扩容且自行管理的方式运行自动化插桩测试,请考虑使用 Gradle 管理的设备。

AVD 包含硬件配置文件、系统映像、存储区域、皮肤和其他属性。

建议您根据清单中的 <uses-sdk> 设置为应用可能支持的所有系统映像创建 AVD。

硬件配置文件定义了设备出厂时的特性。设备管理器预加载了特定的硬件配置文件,如 Pixel 设备,您可以根据需要定义或自定义硬件配置文件。

请注意,只有部分硬件配置文件包含 Play 商店。这些配置文件完全符合 CTS 规范,并且可以使用包含 Play 商店应用的系统映像。

Play Store 列中带有 Google Play 徽标的设备定义既包含 Google Play 商店应用也具有对 Google Play 服务的访问权限,Extended controls 对话框中会显示 Google Play 标签页,其中提供了一个方便的按钮,用于在设备上更新 Google Play 服务。

标有 Google API 的系统映像具有对 Google Play 服务的访问权限。

Recommended 标签页会列出推荐的系统映像。其他标签包含更完整的列表。右侧窗格介绍选定的系统映像。

如果您在系统映像旁边看到下载图标,则说明开发机器上当前未安装该映像。点击该图标即可下载系统映像。您必须连接到互联网才能下载系统映像。

目标设备的 API 级别非常重要,因为您的应用不会在 API 级别低于应用所需级别(在应用清单文件的 minSdk 属性中指定)的系统映像上运行。如需详细了解系统 API 级别与 minSdk 之间的关系,请参阅对您的应用进行版本控制。

如果您的应用在清单文件中声明了 <uses-library> 元素,那么该应用就需要具备包含这个外部库的系统映像。 如需在模拟器上运行应用,请创建包含所需库的 AVD。为此,您需要使用适用于 AVD 平台的插件组件;例如包含 Google 地图库的 Google API 插件。

为确保应用安全并且与实体设备的体验一致,包含 Google Play 商店的系统映像已使用发布密钥签名,这意味着,您无法获得这些映像的提升权限 (root)。

如果您需要使用提升权限 (root) 来帮助您排查应用问题,您可以使用不包含 Google 应用或服务的 Android 开源项目 (AOSP) 系统映像。然后,您可以使用 adb root 和 adb unroot 命令在普通权限和提升权限之间切换:

  % adb shell
  emu64a:/ $
  emu64a:/ $ exit
  % adb root
  restarting adbd as root
  % adb shell
  emu64a:/ #
  emu64a:/ # exit
  % adb unroot
  restarting adbd as non root
  % adb shell
  emu64a:/ $
  emu64a:/ $ exit
  %

AVD 在开发计算机中具有专用的存储区域。AVD 可存储设备用户数据,例如已安装的应用和设置以及模拟 SD 卡。您可以根据需要使用设备管理器擦除用户数据,以便相应设备具有与新设备相同的数据。

模拟器皮肤可指定设备的外观。设备管理器提供了一些预定义的皮肤。您也可以定义自己的皮肤或者使用第三方提供的皮肤。

确保您的 AVD 定义包含您的应用所依赖的设备功能。如需查看可在 AVD 中定义的功能的列表,请参阅有关硬件配置文件属性和 AVD 属性的部分。

Android虚拟机(Android应用程序开发中的重要作用)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注