调试和发布apks之间的区别

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

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

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

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

从收缩您的代码和资源 :

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

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

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

  • 对于调试版本,apk将使用默认的调试签名密钥进行签名,并启用调试标志。

  • 对于释放键,您必须明确指定要签名的键,并且将关闭调试标志,以便无法对其进行调试。

  • 可以打开Proguard以发布版本。 (也适用于调试版本,但不建议)。 此步骤需要显式执行,默认情况下为false。

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

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

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

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