来自同一代码的 2 个 APK 文件的大小和功能差异的原因?

Causes of differences in sizes and functionality of 2 APK files from same code?

我有一个非常有趣的问题。我正在为公司项目开发 Android 应用程序。基本过程如下所示。我们的主要工程师编写他的代码并推送到 github,我提取该代码并更改版本号,打开 google 分析和 crashlytics,并在测试后在 Play 商店上发布。我认为这是一个典型的工作流程,但是今天我们遇到了一个问题。当我用他的代码构建我的项目时,我在应用程序中遇到了一个问题(如果强制关闭,则在重新启动时会出现黑屏)。于是我报了这个问题,但是他重现不了。所以我们把它送到办公室各处进行测试。任何使用我构建的 .apk 的人都会遇到黑屏问题。使用他的构建的任何人都没有黑屏问题。问题是我们使用 GitHub 中完全相同的代码。我们的另一位开发人员决定构建该项目,但也遇到了黑屏错误(就像我的 .apk 构建一样)。

注意事项:

-我们都在使用 eclipse

-我们的目标都是 android 5.0

-我们使用相同的库

-我已经尝试使用 github 中的代码而不进行我通常的 version/analytics 更改并获得相同的结果,它是完全相同的代码。

-我们都认为我们没有进行任何 'special' 构建,并且我们已经在进行此过程一段时间了,没有遇到任何此类问题。

-恢复到旧版本的代码似乎并不能解决这个问题(这个问题并不总是存在。)

可能的解释(存在差异):

-我在 eclipse 中有一个用于此应用程序的 crashlytics 插件(我不认为这是问题所在,因为我们的其他开发人员也没有此插件而且我在没有它的笔记本电脑上构建并且没有解决黑屏问题。)

-两个内置 .apk 的大小不同。我的(有错误的那个)大了大约 500kb。 (我认为这反映了问题,但实际上并没有帮助解决问题。)

焦点问题:

我认为最好问这个问题以确定手头的根本问题。

同一代码在功能(一个有错误,一个没有)和大小方面构建不同的 .apk 文件的原因可能是什么?

  1. 查看 logcat 中的错误。根据我的经验,错误如此明显并且不会在 logcat.

  2. 中发出一些噪音是相当罕见的
  3. "We're both using the same libraries"。造成这种情况的一个常见原因可能是,如果您使用从远程存储库获得的库,并且您的版本较新并且存在错误。这也可以解释尺寸差异。

  4. 看看apks。您可以将它们重命名为 .zip 文件,并在解压缩后查看它们。