Development Tip

NDK에서 애플리케이션 디렉토리를 찾을 수 없습니다.

yourdevel 2020. 11. 17. 21:14
반응형

NDK에서 애플리케이션 디렉토리를 찾을 수 없습니다.


ndk-build 명령을 실행할 때 다음 오류가 발생합니다.

Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.

내 Android.mk 파일의 내용 :

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := FRE
LOCAL_SRC_FILES := FlashRuntimeExtensions.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := NativeQCAR
LOCAL_SRC_FILES := main.c
LOCAL_SHARED_LIBRARIES := FRE
include $(BUILD_SHARED_LIBRARY)

다음 줄을 추가해도 도움이되지 않습니다.

NDK_PROJECT_PATH = C:/Users/Wessel/Dropbox/workspace/eclipse/NativeQ

다음 명령을 사용할 수 있습니다.

ndk-build -C your_project_path

이것이 귀하의 질문에 대답하기를 바랍니다.


NDK_PROJECT_PATH환경 변수이므로 Android.mk파일 에 포함 할 필요가 없습니다 . 되어 nkd-build프로젝트 디렉토리에 출시?

자세한 내용 docs/HOWTO.html은 내가 읽은 NDK 폴더 의 문서를 읽으십시오.

NDK r4부터는 $ PROJECT / jni / 아래에 파일을 배치하고 프로젝트 트리에서 'ndk-build'스크립트를 실행할 수 있습니다.

'ndk-build'를 사용하고 싶지만 파일을 다른 위치에 배치하려면 GNU Make 변수 재정의를 다음과 같이 사용하십시오.

ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk

저에게 만족스러운 답을 하나도 찾지 못했습니다. 기존 애플리케이션을 빌드하려고하는지, 새 애플리케이션을 만들려고하는지, 아니면 기존 네이티브 앱을 포팅하는지에 따라 다를 수 있습니다. 이 가이드 라인은 android-ndk-r9b에서 작동하지만 마지막 몇 가지 릴리스에서 작동합니다.

ndk-build에서 사용하는 make 파일 build-local.mk는 응용 프로그램 makefile의 위치를 ​​추측합니다.

기본적으로 NDK는 NDK 애플리케이션 Application.mkAndroid.mk파일을 jni. 이것은 잘 작동하며 명령 줄을 사용할 수 있습니다.

$ ndk-build

jni예를 들어 하위 디렉토리를 원하지 않는 경우 , 예를 들어 Linux 명령 줄 도구를 Android로 이식하는 경우 다음이 적합 할 수 있습니다.

AndroidManifest.xml파일 만들기

이제 Application.mk다음 내용으로 파일을 만듭니다 .

APP_BUILD_SCRIPT := Android.mk

그런 다음 Android.mk파일을 만듭니다. 예 :

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := foo.c
LOCAL_MODULE := foo
include $(BUILD_EXECUTABLE)

애플리케이션을 빌드하려면 다음을 사용하십시오.

$ ndk-build NDK_APPLICATION_MK=`pwd`/Application.mk

세 가지를 지정해야합니다.

NDK_PROJECT_PATH - the location of your project
NDK_APPLICATION_MK - the path of the Application.mk file
APP_BUILD_SCRIPT - the path to the Android.mk file

jni 폴더에있을 것으로 예상하는 빌드 스크립트의 기본값을 재정의하는 데 필요합니다.

ndk-build 사용을 호출 할 때

ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk

Application.mk에서 추가

APP_BUILD_SCRIPT := /path/to/Android.mk

ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main

이것이 내가 cd프로젝트 디렉토리에 사용하고 수행하는 것입니다.

ndk-build NDK_PROJECT_PATH=.

여기에 이미지 설명 입력


아래 단계를 따르십시오.

1)Right on your project
2)Go to properties
3)Go to C/C++ Build
4)Go to Builder Settings
5)Go to Build Location
  Add build directory
6)Click on Workspace
7)Select your project folder

당신은 다음과 같은 것을 봐야합니다

${workspace_loc:/[Your Project_Name]}

끝난!!


이것은 나를 위해 일했습니다. 환경 변수와 설정이 없습니다. 명령 줄에서 ndk의 압축을 푼 루트 디렉터리로 이동하여 ndk-build 명령을 실행합니다.

ndk-build NDK_PROJECT_PATH = 프로젝트 경로

내 dev 컴퓨터에서 샘플은 다음과 같습니다.

 C:\adt-bundle-windows-x86-20140321\android-ndk-r9d>ndk-build NDK_PROJECT_PATH=D: /workspace/naruto  
 Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersi on 9 in D:/workspace/naruto/AndroidManifest.xml
 [armeabi] Compile thumb  : ndkfoo <= ndkfoo.c 
 [armeabi] SharedLibrary  : libndkfoo.so 
 [armeabi] Install        : libndkfoo.so => libs/armeabi/libndkfoo.so

-C 나를 위해 일했습니다.

여기에 이미지 설명 입력

Mac 터미널을 사용하여이 작업을 수행 할 수도 있습니다.


아래 단계를 따라야합니다.

1. Android.mk가 포함 된 폴더로 이동합니다.

2. android-ndk 경로를 $ NDK_PROJECT_PATH에 할당합니다. 예 : export NDK_PROJECT_PATH = / home / android-ndk-r8b.

3. $ PATH에 NDK를 추가합니다. 예 : export PATH = $ PATH : / home / android-ndk-r8b.


ndk 빌더의 작업 디렉토리를 설정하면 동일한 문제가 발생하여 이러한 방식으로 해결되었으므로 문제를 해결할 수 있습니다.

경로 : 프로젝트 속성-> 빌더->-> 메인-> 작업 디렉토리

참고 URL : https://stackoverflow.com/questions/14156596/ndk-cant-find-the-application-directory

반응형