首页 文章

调试和发布apks之间的区别

提问于
浏览
19

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

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

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

3 回答

  • 0

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

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

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

    可以为发布版本打开

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

    Note: 这些东西可以在你的build.config中改变,你可以选择你想要的排列和组合 .

  • 10

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

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

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

  • 10

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

    来自Shrink Your Code and Resources

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

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

相关问题