~/Library/Android/sdk/ndk-bundle 的 NDK 没有 source.properties 文件

NDK at ~/Library/Android/sdk/ndk-bundle did not have a source.properties file

我已将 Macbook 中的 Android Studio 更新为 4.1,但更新后无法 运行 应用程序。它给出以下错误

Execution failed for task ':app:stripDebugDebugSymbols'.
NDK at ~/Library/Android/sdk/ndk-bundle did not have a source.properties file

build.gradle 文件中指定 ndk 版本后它正在工作

android {
        ndkVersion '21.3.6528147'
    }

并在 local.properties 中删除以下内容,因为它已被弃用并且与路径冲突:

ndk.dir=~/Library/Android/sdk/ndk-bundle

对我来说,这个问题发生在我升级到 Android Studio 4.1 之后。要解决此问题,我必须在项目的 local.properties 文件中明确传递 NDK 目录的路径。可以通过在 local.properties.

中添加这一行来完成
ndk.dir={Path to Android NDK directory}

这是AS的随机错误,很少有开发者遇到。

很有可能,您的 Android Studio 中没有链接 NDK。

我会建议,

在您的 Android Studio 中,转到文件 -> 项目结构 -> SDK 位置 -> 在“Android NDK 位置”下,单击“下载”Android NDK

等待下载并 re-build 项目。干杯。

我遇到了同样的问题并解决了它: 转到 SDK 位置找到 NDK 文件夹并检查其中一个文件夹是否为空或已损坏将其删除并让 android 工作室使用您拥有的最新版本。

遇到此错误时需要检查的事项:

  • 检查 local.properties 文件中是否指定了 Ndk 位置。

如果没有,请转到您的 sdk 文件夹中的 NDK 位置,如果有多个 ndk 版本,请在不需要时删除以前的版本。进入最新版本文件夹并检查 source.properties 文件是否存在。复制文件夹路径,在local.properties文件中指定路径。

对我来说是

ndk.dir=C:\Users\admin\AppData\Local\Android\Sdk\ndk.0.6917172

  • 在应用级别build.gradle文件指定版本号,如果不正确

对我来说是

android {

ndkVersion '22.0.6917172'

}

重要提示:

不应再在您应用的 local.properties 文件中设置 ndk.dir 的值,并且在未来的版本中将删除对此 ndk.dir 设置的支持。 Android Gradle插件默认设置NDK版本,但如果需要特定版本的NDK,可以在build.gradle.

中设置android.ndkVersion

您可以访问这个官方页面for more details

Android studio 4.1.1 无法在项目结构上设置 Android NDK 位置, 您需要编辑 local.properties 文件并添加

ndk.dir=/Users/yourname/Library/Android/sdk/ndk/21.3.6528147

build.gradle 文件 ndk 版本 is:21.3.6528147

ext.versions = [
        'minSdk': 19,
        'targetSdk': 30,
        'compileSdk': 30,
        'kotlin': '1.4.10',
        'buildTools': '30.0.2',
        'ndk': '21.3.6528147'
    ]

对于Android studio 4.1.1+gradle-plugin:4.1.1 或更高版本)使用ndkVersion

No ndk.dir at local.properties. If there is, remove it

build.gradle(模块)

android {
  defaultConfig {
     // ...
     ndkVersion = "21.1.6352462"
  }
}

注意:指定的版本必须存在于$SDK/ndk文件夹中。

File -> Project Structure -> SDK Location -> "Android NDK Location"
然后点击“下载”Android NDK。下载后问题将得到解决。

我遇到了同样的问题并解决了 转到 Sdk 路径,然后进入 ndk 文件夹,然后剪切 - 将带有版本名称的文件夹粘贴到其他地方,然后清理并重建。

我也是! 当我升级AS4.0.1---->4.1.1

并且 项目的 build.gradle

classpath 'com.android.tools.build:gradle:4.1.1'

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

我遇到了这个问题,解决方法很简单:

复制文件到ndk-bundle目录

完成

我在 MacOS 11.1 上使用 Android Studio 4.1.1。 None 以上解决方案对我有用。对我有用的是不是gradle文件的重新配置,而是NDK包的简单重新配置.

cd ~/Library/Android/sdk/ndk/22.0.7026061
cp android-ndk-r22/source.properties .
  1. 在设置中下载 NDK,修复该问题。
  2. 如果您无法点击下载。手动将此路径添加到您的 local.properties 文件

ndk.dir=/Users/yourusername/Library/Android/sdk/ndk/21.3.6528147

21.3.6528147 --> 对您的 NDK 文件夹进行版本控制

下载 Ndk https://developer.android.com/ndk/downloads 并放在 /Users/yourname/Library/Android/sdk/ndk/21.3.6528147

Make sure you have downloaded and installed NDK bundle under Sdk directory. If not open SDK Manager. Install it by checking NDK(Side by side)

Restart the IDE and try it again. If further any problem, pls add this code in build.gradle file

android {
    ........

    defaultConfig {
        .........

        ndkVersion '22.1.7171670' // Your downloaded NDK version
    }
}

注意:保持你的local.properties文件如下:

sdk.dir=C:\Users\User\AppData\Local\Android\sdk # My installed SDK location
flutter.buildMode=debug
flutter.versionName=1.0.0
flutter.versionCode=1

尝试将 gradle 版本降级到 3.4.2,方法是将以下行添加到项目的 build.grade 文件中,

classpath 'com.android.tools.build:gradle:3.4.2'

1.First 确保你已经在 android studio sdk 管理器上安装了 ndk 2. 在local.properties文件

中添加以下行

ndk.dir = C:\Users\MACOWIGO\AppData\Local\Android\Sdk\ndk\22.1.7171670

  1. 然后在 build.gradle 文件中添加以下行

    buildscript { ext { buildToolsVersion = "29.0.3" minSdkVersion = 21 compileSdkVersion = 29 targetSdkVersion = 29 ndkVersion = "22.1.7171670" }

确保 build.gradle 文件中提供的 ndk 版本与 local.properties 文件中的 provided/written 版本相同

  1. 转到local.properties(SDK 位置)

  2. 添加到 NDK 源路径

    ndk.dir=c\:\Users\SankA\AppData\Local\Android\Sdk\ndk\22.1.7171670

Look Like this Image - Myexample image

我在 Flutter 中遇到了这个错误。

我的解决方案:

复制文件C:\Users\username\AppData\Local\Android\Sdk\ndk.1.7171670\source.properties

C:\Users\username\AppData\Local\Android\Sdk\ndk-bundle

准备就绪!

ndk.dir=c\:\Users\DanielWaiguru\AppData\Local\Android\Sdk\ndk\22.1.7171670

已被弃用,AGP 应设置默认的 ndk 版本,但如果没有,请在您的 build.gradle 中指定特定的 ndk 版本,如下所示

android {
    ndkVersion <version> 
}

例如

ndkVersion "22.1.7171670"

local.properties 中删除以下行对我有用,如已接受的答案中所述,它已被弃用。

ndk.dir=~/Library/Android/sdk/ndk-bundle

Flutter 个项目:

运行 android 工作室终端中的命令 flutter clean

然后在文件中的defaultConfig中添加ndk版本在这个位置:android > app > build.gradle, 如下图所示:

android{
  defaultConfig {
    ndkVersion = "22.1.7171670"
  }
}

然后转到项目结构

下载 NDK 并重建应用程序。

这个解决方案适合我。

首先你真的会用NDk吗?

1.If 是的,您可以尝试上面接受的答案,让 android studio 为您下载最新的 ndk

2.If 否 然后转到 NDK 文件夹位置 /Users/yourname/Library/Android/sdk/ndk/ 删除所有以“ndk”开头的文件夹,如 ndk 、 ndk-bundle 。 重建项目

添加ndk版本

ndk.dir=C:\Users\Hasif\AppData\Local\Android\Sdk\ndk\22.1.7171670

在我的例子中,我在 local.properties 文件中没有 ndk 目录,也没有在 build.gradle 中添加 ndk 版本。我只是简单地删除了 android sdk 文件夹中的 ndk-bundle 文件夹。它奏效了。

根本原因是:对于特定的 buildToolsVersion,可能带有默认的 ndk 版本,但此版本的 ndk 可能不在 ndk.dir 下,因此一个简单的修复是

android {
    ndkVersion <an existing version of ndk>
}

在我的例子中 运行 构建了几个 Flutter,我似乎安装了不再需要的旧 NDK 版本。通过 SDK 管理器删除它解决了问题

> NDK at /Users/gene/tools/android-sdk-macosx/ndk/21.1.6352462 did not have a source.properties file

尝试此处的答案来更新 SDK,我删除了有问题的 NDK 版本,并计划刷新更新。但是,在尝试 运行 应用程序而不带回旧的 NDK 之后,所有应用程序都成功构建了

> Task :app:stripDebugDebugSymbols FAILED react native

> NDK at C:\Users\{username}\AppData\Local\Android\Sdk\ndk.4.7075529 did not have a source.properties file

如果在build.gradle

中使用react native更改ndk版本

我已将 ndkVersion = "21.4.7075529" 更改为 ndkVersion = "22.1.7171670"

转到 build.gradle 文件,在 android 部分粘贴 ndkVersion“23.1.7779620”

android { 编译SDK版本30 ndk版本“23.1.7779620” }

几周前我也遇到了同样的问题,我已经尽了最大努力但没有成功。然后我使用 android studio.

下载了 NDK

Screenshot of Android Studio

下载NDK后也没有解决我的问题。然后我访问了 SDK 文件夹并找到了 NDK 和 NDK-bundle。据我所知,这两个文件夹具有相同的属性。

我已经从 NDK \ 23.1.7779620 复制了 source.properties 文件并将其粘贴到 NDK-Bundle 文件夹中。

Screenshot of source.properties file

它运行良好。

你也应该试试...

只需删除或重命名 ndk-bundel Android SDK 文件夹

只需转到:

  1. 文件设置
  2. 搜索 Android SDK
  3. 在 SDK 工具中,找到 ndk 并勾选“显示包详细信息”。
  4. 下载控制台上显示的 ndk 错误版本。
  5. 确保你已经安装了 cmake sdk