您的APP_BUILD_SCRIPT使用Android ndk-build指向未知文件

时间:2011-06-27 14:37:27

标签: android android-ndk

尝试编译Android NDK项目时出现以下错误:

ndk-build 
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /home/lambergar/work/APIExample/jni/Android.mk    
/home/lambergar/android/ndk/android-ndk-r5c/build/core/add-application.mk:116: *** Android NDK: Aborting...    .  Stop.

奇怪的是,“未知文件”(Android.mk)存在于报告为无效的路径下。

17 个答案:

答案 0 :(得分:23)

同样的问题(在Windows 7中)但原因不同。

在环境参数中搜索后,我发现名为“NDK_PROJECT_PATH”的邪恶信息,其值为无效路径。

删除它,事情再次起作用;)

答案 1 :(得分:5)

我遇到了同样的问题。我通过在$ N​​DK / apps / ndktestapp中创建一个Application.mk来修复它,其中包含以下内容:

APP_PROJECT_PATH := /cygdrive/c/workspace/MyApp

然后调用

make APP=ndktestapp
来自NDK-Root的

。希望有所帮助。

答案 2 :(得分:5)

在我的情况下,问题是项目路径中有空格。在这种情况下,请更改项目路径文件夹并再次导入项目。

答案 3 :(得分:3)

我通过向项目添加新构建解决了这个问题,瞧,它有效......不知道CLI构建的问题是什么。

答案 4 :(得分:3)

花了一两个小时才想出这个。很多人都遇到过这个问题。但是当我发现我实际上没有文件名Android.mk时它被命名为Andriod.mk,这足以让我遇到很多麻烦。抱歉我的原始咆哮,但这最终是整个问题。我建议如果你有这个问题,你应该检查一切,直到你发现错误。

这解决了我的问题。谢谢你们,无论如何你们都把我放在了正确的轨道上。

答案 5 :(得分:3)

您需要将env变量NDK_PROJECT_PATH设置为您正在构建的项目的根目录。 NDK项目的根目录通常包含./jni目录。

export NDK_PROJECT_PATH={root_of_project}

如果您的JNI代码在库中,则将NDK_PROJECT_PATH设置为库项目。

答案 6 :(得分:3)

今天刚看到这个问题。 在我的情况下,实际问题是项目路径内的空间。

(是的,如果文件夹名称中有空格,ndk-build将无法编译您的项目)

答案 7 :(得分:1)

像@phavens一样,我认为只有Android.mk和android.mk这个词的错误,只花了5分钟..呵呵

答案 8 :(得分:1)

请勿在项目目录中留出任何空白。如果错误再次出现 然后在 buildTypes块下面编辑 build.gradle(Module:app) ,并添加以下行:

 buildTypes {
    release {
       ......................
    }
}
sourceSets { main { jni.srcDirs = ['src/main/jni/','src/main/jniLibs/'] } }
externalNativeBuild {
    ndkBuild {
        path 'build/intermediates/ndk/debug/Android.mk'
    }
}

答案 9 :(得分:0)

我遇到了与本主题类似的问题。我的解决方案是:首先检查文件是否存在于正确的路径中。其次,如果您的路径有任何空格,请将其删除或将您的项目重新定位到一个简单的路径。然后重建它。

答案 10 :(得分:0)

请删除这些目录

rm -rf .externalNativeBuild //if exits

rm -rf app/.externalNativeBuild

rm -rf app/.cxx/ //if exits

rm -rf app/build/

然后重建项目。

答案 11 :(得分:0)

对我来说,删除common/build/libs.gradle目录就可以了。

答案 12 :(得分:0)

Details of the problem:

Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /jni/Android.mk ...: *** Android NDK: Aborting... . Stop. Usually this is not the path of your project, so the reason for this error is that ndk could not find the correct Android.mk file path. solution:

Add NDK_PROJECT_PATH to "./" in the environment variable, the purpose is to tell the NDK that the jni currently to be compiled is located in the directory where the project is located.

答案 13 :(得分:0)

在我的情况下,项目文件夹名称中有一个空格,删除了重新导入Android Studio的空间,解决了问题

答案 14 :(得分:0)

在Android.mk文件中,您提供了jni文件夹所在的路径... 在你的情况下 ARTOOLKIT_DIR:= / home / lambergar / work / APIExample /

答案 15 :(得分:0)

我刚刚安装了Android-NDK并尝试了“ndk-build”。 我有完全相同的错误。这是我击败它的方式。

bash

export NDK_PROJECT_PATH={root_of_android_ndk}/samples/hello-jni

./ndk-build

这很有用。

答案 16 :(得分:-1)

Android Studio中的Gradle Experimental plugein添加了对Native项目构建的支持。