【问题标题】:Different proguard outputs for identical inputs on two machines两台机器上相同输入的不同 proguard 输出
【发布时间】:2018-07-12 21:47:52
【问题描述】:

构建了我的应用程序的发布版本(在 Linux 机器上)打开应用程序时出现意外错误。

我在 Mac 上构建了相同的(发布)版本,没有问题,使用相同的 git 标签。但是,两台机器上的输出 mapping.txt 文件不同。对于健全性检查,我在两台机器上区分 ./gradlew app:dependencies 的输出 - 相同。两台机器上的git log 显示相同:commit bb70bcf36e8c0e1a3 etc etcgit status 仅显示未跟踪的 app/buildbuild.gitignore 似乎没有隐藏任何相关内容。

所以 - 我在两台不同机器上似乎相同的输入上从 proguard 获得不同的输出。知道发生了什么吗? (我知道我明天要打 D'oh...)

ps。两台机器上生成的apk文件都不一样。

【问题讨论】:

    标签: android-gradle-plugin proguard android-proguard


    【解决方案1】:

    我删除了两台机器上主目录和应用程序目录中的 .gradle 目录。现在,在 linux 机器上构建的应用程序可以正常启动,但在两台机器上生成(发布)的 apk 仍然不同(不同的 SHA1 哈希)。但是,apk 大小几乎相同..2264536 和 2264528 分别和 mapping.txt 现在相同...大概 apk 应该在不同平台上生成相同?

    当然我不知道 gradle 缓存是如何导致问题的。

    【讨论】:

    • 谢谢。我错过了删除 app .gradle 目录。我已经删除了 ~/.gradle/caches/ 仅此一项并没有修复它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 2015-11-05
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2012-09-08
    相关资源
    最近更新 更多