【问题标题】:Execution failed for task ':app:compileDebugNdk'任务“:app:compileDebugNdk”执行失败
【发布时间】:2015-02-27 07:14:32
【问题描述】:

我正在使用最新的 android studio build 1.1,因为我想导入一个需要 NDK 的 Eclipse 项目。我安装了 NDK 并在local.properties 中设置了 NDK 位置。问题是当我尝试运行该项目时显示 2 个错误,它们是

1) Error:(199) *** Android NDK: Aborting...    .  Stop.
2)Error:Execution failed for task ':app:compileDebugNdk'.
> com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException: Process 'command 'C:\Users\vishal\android-ndk-r10d\ndk-build.cmd'' finished with non-zero exit value 2

有什么办法吗?

【问题讨论】:

  • 您应该能够从您的 gradle 日志中获取 ndk-build 命令的输出,但错误更明确,因此我们可以获得更多信息来帮助您。
  • Information:Gradle tasks [:app:assembleDebug] 警告 [Project: :app] 当前的 NDK 支持已弃用。将来会提供替代方案。 :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:compileDebugNdk C:\Users\vishal\Desktop\DELTA-Software-master\AppPatcher\app\src\main\jni\bspatch.c :在函数“bspatch”中:C:\Users\vishal\Desktop\DELTA-Software-master\AppPatcher\app\src\main\jni\bspatch.c:82:2:错误:格式不是字符串文字,也没有格式参数 [-Werror=format-security] __android_log_print(ANDROID_LOG_INFO, "bspatch.c", argv[0]); ^
  • 我遇到同样的错误。如何在 android studio 中解决这个问题?

标签: android android-ndk


【解决方案1】:

尝试将其添加到build.gradle 文件中:

sourceSets.main {
   jni.srcDirs = []
}

【讨论】:

    【解决方案2】:

    这解决了我的问题:

    • 如果您的项目中没有 JNI 目录,请创建它:

    • 转到您刚刚创建的新 JNI 目录。应该在{approot}\app\src\main\jni

    • 创建一个空的 *.c 文件

    • 将以下代码添加到您的app/gradle.build 文件的android 部分。它应该是这样的:

      android {
          ...
          sourceSets.main {
              jniLibs.srcDir 'libs'
              jni.srcDirs = [] //disable automatic ndk-build call
          }
      }
      

    【讨论】:

      【解决方案3】:

      可能是known NDK bug。尝试将空的 .c 文件添加到您的 jni 目录(如 empty.c)。

      【讨论】:

        猜你喜欢
        • 2018-06-06
        • 2015-02-11
        • 2020-03-07
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 2015-05-03
        • 2018-08-20
        • 2016-05-02
        相关资源
        最近更新 更多