【发布时间】:2020-10-06 16:42:37
【问题描述】:
我有一台三星平板电脑。 我的应用程序是基于本机库开发的。 本机库有一个发布版本。
我使用 Android Studio 进行开发。我使用 debug-x86 作为构建变体,应用程序可以在设备上正常运行。
- 我很好奇为什么应用程序可以正常运行,即使本机代码构建为发布版本?
- 我应该使用哪种构建变体。
- 如果我使用 release build 变体,与 debug 变体相比,性能可以提高吗?
非常感谢。
YL
【问题讨论】:
我有一台三星平板电脑。 我的应用程序是基于本机库开发的。 本机库有一个发布版本。
我使用 Android Studio 进行开发。我使用 debug-x86 作为构建变体,应用程序可以在设备上正常运行。
非常感谢。
YL
【问题讨论】:
您可以(应该)在项目中使用库的发布版本。而且它与您的项目构建变体无关,因为您使用的不是库源代码,而是编译后的输出。
关于您的项目/应用,您应该使用Debug 变体进行调试,如果您已经想在 Play 商店等市场发布应用,则应使用Release 变体。
是的,发布模式下的性能高于调试模式,因为在应用运行时,许多额外的日志不再运行。当项目是一个包含数百个类和库的大型项目时,这一点尤其明智。
【讨论】:
• 创建应用时,您使用调试版本工作(开发应用)。
• 应用准备就绪后,您部署(发布到商店)发布版本。
• 发布版本总是更快和优化,因为它不包含任何调试信息。
• 调试版本包含帮助您开发应用程序的额外信息,因此它可能比发布版本慢。此外,可以有更大的尺寸,当然,您不希望将调试信息部署给您的用户,更不用说这使得逆向工程变得更加简单。
• 您用于应用程序的库的构建类型无关。尽管您使用的库的开发人员可以同时为您提供调试和发布版本,以帮助您进行开发,但这些应始终作为发布版本进行部署。如果它们为您提供了这两种变体,则适用与上述相同的逻辑,Android Studio 将根据您当前的构建类型选择正确的一种。
【讨论】: