java - 安卓NDK : Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk

标签 java android android-ndk build-error

好吧,我在 stackoverflow 中看到了 4 个类似的问题(thisthisthisthis)。我尝试了那里给出的答案。我必须说一个答案对我有用,但文档明确表示不要使用该方法。所以我在这里问..

我的项目设置

  1. 在 Mac OS X Mountain Lion 10.8.2、Eclipse Juno、gcc 4.2.1、GNU Make 上运行 3.8.1.
  2. 我的项目是一个学习NDK的测试项目,目标API 16, 打算支持 API 8 及更高版本。
  3. 我的项目在路径中 ~/Desktop/PROJECT/ANDROID/WORKSPACE/NDKResearch
  4. 我的 NDK 路径是 ~/Documents/ANDROID/android_ndk_r8a

我不知道路径信息有什么帮助。但是我总是无法在 bash 中给出正确的路径。所以就把它张贴在这里。

我做了什么?

在我的 NDKResearch 项目中,我添加了一个 Android.mk 文件(路径:$MY_PROJECT_PATH/jni/Android.mk)

include $(CLEAR_VARS)
LOCAL_PATH:= $(call my-dir)
LOCAL_CPP_FEATURES += -fno-exceptions
LOCAL_SRC_FILES := \
     Log.c \
     Calculate.c 

LOCAL_MODULE := libSoundTouch

include $(BUILD_SHARED_LIBRARY)

$MY_PROJECT_PATH/jni/Application.mk 中添加了一个 Application.mk 文件。

APP_PLATFORM := android-16
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_PROJECT_PATH := /Users/myusername/Desktop/PROJECTS/ANDROID/WORKSPACE/NDKResearch

然后我在 bash shell 中执行了 ndk-build

## cd ~/Desktop/PROJECT/ANDROID/WORKSPACE/NDKResearch
## ~/Documents/ANDROID/android_ndk_r8a/ndk-build

只得到标题中提到的错误。

我的问题是什么?

从上面的链接主题来看,user sege's answer 确实对我有用。其他人都没有。但是 ndk 的文档明确指出不要使用这种方法。来自 ndk 附带的 Overview.html 文件(找不到在线版本)。

There are two ways to use an Application.mk:

  • Place it under $PROJECT/jni/Application.mk, and it will be picked up automatically by the 'ndk-build' script (more on this later)

  • Place it under $NDK/apps//Application.mk, where $NDK points to your NDK installation path. After that, launch "make APP=" from the NDK directory.

    This was the way this file was used before Android NDK r4. It is still supported for compatibility reasons, but we strongly encourage you to use the first method instead, since it is much simpler and doesn't need modifying / changing directories of the NDK installation tree.

所以我的问题是,第一种方法是否有人成功过?它不起作用的任何原因?

最佳答案

对我有用的是将以下行放在我的 .bashrc 中

export NDK_PROJECT_PATH="."

然后在项目目录中键入 source ~/.bashrcndk-build

关于java - 安卓NDK : Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13720880/

相关文章:

android - 使用 Android NDK 加密从普通 Android 应用程序传递的数据

java - 从文本文件 : Java 创建迷宫图

从服务器到客户端的 Java TCP 连接

java - 异常和错误之间的区别

android - 是否可以将设备 ROM 闪存到 AVD 模拟器或 genymotion?

android - 改进 Android 上的 Tesseract 结果

android - 从字符串中删除 html 标签但恢复\n

STL - Android NDK构建脚本忽略主makefile

java - 在 ConcurrentSkipListSet 中添加了重复项

Android 应用程序因 protobuf 而崩溃