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.mk
과 Android.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
'Development Tip' 카테고리의 다른 글
[Vue warn] : 속성 또는 메서드가 인스턴스에 정의되어 있지 않지만 렌더링 중에 참조됩니다. (0) | 2020.11.18 |
---|---|
Java 메소드는 기본적으로 정적이어야합니까? (0) | 2020.11.17 |
Python 처리 socket.error : [Errno 104] 피어에서 연결 재설정 (0) | 2020.11.17 |
Ionic / Cordova 앱에서 인증 (0) | 2020.11.17 |
속성 내부 보간을 해결하는 방법이 제거되었습니다. (0) | 2020.11.17 |