【问题标题】:How to stop gradle from looking for the Android NDK?如何阻止 gradle 寻找 Android NDK?
【发布时间】:2019-03-22 03:52:44
【问题描述】:

我有一个使用 NDK 的 Android 项目。jet Gradle 正在寻找 NDK。

要么我得到这个错误:

 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

或者我收到这个警告:

NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /opt/local/share/java/android-sdk-macosx/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

即使 ANDROID_NDK_HOMEndk.dir 未设置。有没有办法在没有那些烦人的消息的情况下构建系统?

【问题讨论】:

标签: android android-studio android-ndk android-gradle-plugin


【解决方案1】:
  1. 尝试单独下载 NDK(来自:https://developer.android.com/ndk/downloads/)并将其解压缩到您喜欢的位置,例如~/Library/Android/ndk/android-ndk-r18b

  2. 打开您的local.properties 文件,可能如下所示

     ndk.dir=~/Library/Android/sdk/ndk-bundle
     sdk.dir=~/Library/Android/sdk
    
  3. ndk.dir 更改为~/Library/Android/ndk/android-ndk-r18b

或者您可以从这里尝试解决方案:https://github.com/google/filament/issues/15#issuecomment-415423557

【讨论】:

    【解决方案2】:

    卸载 NDK 或更新您的 gradle 插件版本。旧版本的插件中有一个错误,即使对于仅 Java 的项目,它也会对 NDK 执行无效的健全性检查。 IIRC 3.2 是固定版本。

    【讨论】:

    • 没有健全性检查更糟糕的是什么?一个错误的健全性检查!最好不要进行健全性检查,然后进行无效的健全性检查,因此在添加一项之前应该三思而后行。
    【解决方案3】:

    检查你的 build.gradle 文件,如果你在 externalNativeBuild 标签中有这样的东西;

    ndk {
            abiFilters 'armeabi-v7a' ...
         }
    

    或者像这样;

    cmake {
                cppFlags "-frtti -fexceptions"
            }
    

    或者可能是这样的;

    cmake {
                path 'src/CMakeLists.txt'
            }
    

    尝试删除它们

    【讨论】:

    • 没有externalNativeBuild标签。因为它是一个沼泽标准的java项目。 NO 本地和 NO 外部的东西。 ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 2014-01-22
    • 2016-04-04
    相关资源
    最近更新 更多