gpt4 book ai didi

android - 由于NDK版本不兼容但本地不兼容,因此Android构建在CI中失败

转载 作者:行者123 更新时间:2023-12-03 03:44:38 32 4
gpt4 key购买 nike

可能这不是您第一次看到这样的问题。我仔细研究了一些解释,发现这与Gradle插件没有下载默认版本的SDK有关,并且由于在CI中,您通常设置的计算机可能未安装完全相同的默认版本,所以它将失败。
引用文献:

  • https://github.com/gradle/gradle/issues/12440
  • https://github.com/actions/virtual-environments/issues/578
  • Android: No version of NDK matched the requested version

  • 我的问题是最终了解实际发生的事情,我对 感到好奇,为什么它仅在CI上失败,而且如果我本地没有安装任何NDK版本,也不会在本地失败
    因此,我运行了与CI(./gradlew assembleDebug)中相同的命令,最后只收到这样的警告(构建成功):
    > Task :app:stripDebugDebugSymbols UP-TO-DATE
    WARNING: Compatible side by side NDK version was not found for android.ndkVersion '21.3.6528147'
    Compatible side by side NDK version was not found for android.ndkVersion '21.3.6528147'
    但是,CI中相同的命令最终会导致以下结果:
    2020-06-25T01:45:32.2616030Z > Task :app:mergeDebugNativeLibs
    2020-06-25T01:45:32.3617430Z > Task :app:stripDebugDebugSymbols FAILED
    2020-06-25T01:45:32.7615428Z
    2020-06-25T01:45:32.7615773Z > Task :app:mergeExtDexDebug
    2020-06-25T01:45:32.7657658Z FAILURE: Build failed with an exception.
    2020-06-25T01:45:32.7658080Z
    2020-06-25T01:45:32.7658405Z * What went wrong:
    2020-06-25T01:45:32.7659460Z Execution failed for task ':app:stripDebugDebugSymbols'.
    2020-06-25T01:45:32.7659848Z > No version of NDK matched the requested version 21.0.6113669. Versions available locally: 21.3.6528147
    2020-06-25T01:45:32.7660128Z
    2020-06-25T01:45:32.7660439Z * Try:
    2020-06-25T01:45:32.7661003Z Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    2020-06-25T01:45:32.7661296Z
    2020-06-25T01:45:32.7661602Z * Exception is:
    2020-06-25T01:45:32.8621953Z org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:stripDebugDebugSymbols'.
    2020-06-25T01:45:32.8622201Z 148 actionable tasks: 148 executed
    因此,我想了解会有什么不同,或者是什么导致CI具有与本地设置不同的行为。
    我的本地设置:
  • OSX卡塔琳娜10.15.4
  • 未安装SDK
  • Android Studio 4.0

  • CI配置:
  • GitHub Actions Android(ubuntu-18.04)

  • 项目配置:
  • Gradle Android插件:4.0.0
  • Gradle版本(使用包装程序确保两个命令都以相同版本执行):6.1.1
  • 生成工具:29.0.3

  • 欢迎任何意见,在此先感谢!

    最佳答案

    这是https://issuetracker.google.com/148189425
    选择NDK的逻辑已更改,以使构建更加可复制。进行了一些更改,以放宽当仅将NDK用于剥离依赖项时,但错误地放宽了仅在未安装NDK时的限制。
    至于如何解决问题,只需将android.ndkVersion设置为build.gradle中CI上可用的任何值。

    关于android - 由于NDK版本不兼容但本地不兼容,因此Android构建在CI中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62566812/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com