调试和发布apks之间的区别

问题描述 投票:22回答:3

我是android以及android studio的新手。根据我在visual studio中的经验,当我们在另一台机器上测试.exe时,我们复制了release文件夹和.exe。

但在Android工作室我看到我的同事通过使用USB驱动器在其他系统中复制和部署来测试调试apk。似乎也在工作。我可以知道部署该版本的后果是什么?发布版本仅与Play商店有关吗?

除了调试版本包含可能使其变慢或笨重的调试信息之外,技术差异/结果是什么?

android apk release
3个回答
11
投票

主要区别是调试标志和签名密钥:

  • 对于调试版本,apk将使用默认调试签名密钥进行签名,并启用调试标志。
  • 对于释放键,您必须明确指定要签名的键,并且将关闭调试标志,以便无法对其进行调试。
  • 可以打开Proguard用于发布版本。 (也适用于调试版本,但不建议)。此步骤需要显式执行,默认情况下为false。

注意:这些内容可以在build.config中进行更改,您可以选择所需的排列和组合。


11
投票

一个重要的区别是发布APK通常会在其上运行ProGuard(代码缩小),它会检测并删除未使用的代码以减少APK大小。

来自Shrink Your Code and Resources

请注意,代码缩小会减慢构建时间,因此如果可能,应避免在调试版本中使用它。但是,重要的是你要在用于测试的最终APK上启用代码缩减,因为如果你没有充分定制要保留的代码,它可能会引入错误。

您的同事可能正在测试调试构建类型以节省时间,因为与调试APK相比,构建版本APK可能需要更长的时间。


0
投票

调试版本和发布版本之间的主要区别(如果在build.gradle中另有说明)是它们签名的关键。大多数应用程序分发渠道[仅]希望使用发布密钥签名的应用程序对开发人员进行身份验证。否则,没有差异。

发布版本还可能触发其他选项,如代码混淆和拆分,因此请注意这些。

但是,这两个版本之间可能会有许多变化。这些应该在你的build.gradle中指定,如果有的话。所以,你应该留意那里。

© www.soinside.com 2019 - 2024. All rights reserved.