위에서 봤던 것으로부터, 나는 android ndk에서 제공하는 툴 체인을 사용하여 사용자 정의 디코더 코드를 컴파일하지 않는다고 가정합니다. 나는 당신이해야 할 것과 같은 일을했습니다.
First of all what you need to do is:
1)
3) 모든 "C"코드에서 덤프 "JNI"라는 폴더를 만들고, 측면에서 안드로이드 프로젝트의 루트 디렉토리를 안드로이드 프로젝트
2) 만들기 (사용자 정의 디코더 코드)를이 폴더에 저장하십시오.
4) 디코더 코드가있는 /jni
폴더에 동일한 파일을 만들고이 파일의 이름을 Android.mk
으로 지정합니다. linux에서 make 파일이라는 개념을 알고 있다면 똑같은 것이 여기에 포함되며 구문 만 변경됩니다 (android ndk에서 제공되는 샘플 예제를 참조 할 수 있습니다).
5) developers website에서 Android-ndk
을 다운로드하십시오 (예제 예제를 참조하여 학습하십시오).
6) PATH 변수를 ndk 디렉토리로 구성하십시오.
예 : 수출 NDK_PATH =/가정/MYPC는/안드로이드 NDK-r7b
7) JNI 디렉토리에 CD와 명령 ndk-build
을 입력합니다. 모든 것이 잘 진행되면 .so 파일이 생성되어 코드가 안드로이드 플랫폼으로 성공적으로 크로스 컴파일되었음을 의미합니다.
8) 이제/src 폴더에 생성 된 .so 파일을로드해야하는 .java 파일이 생깁니다. 이를 위해 android ndk에서 샘플 예제를 참조 할 수 있습니다.
9) JNI를 사용하여 응용 프로그램과 생성 된 .so 간의 인터페이스.예를 들어 사용자 정의 디코더가 입력 파일 포인터를 사용하여 파일을 디코딩하도록 설계된 경우 이에 따라 JNI 코드를 구현해야합니다.
10) 마지막으로 모두 완료하고 디코더에서 RGB 데이터를 제공하는 경우 OpenGL ES를 사용하여 원시 코드에서만 디코딩 된 그림을 표시 할 수 있습니다.
출처
2014-02-21 10:11:23
Zax
답장을 보내 주셔서 감사합니다. 위의 단계를 시도했습니다. Visual Studio 2010에서 코드를 실행하려고 할 때 아무런 오류없이 완벽하게 출력됩니다. 위의 단계로 Eclipse에서 동일한 소스 코드를 실행할 때 최대 6 단계까지 아무런 문제도 발견되지 않았습니다. 7 단계에서 나는 많은 수의 오류와 경고를 발견했다. 이클립스에 어떤 설정이 있습니까? – sayedjuned
@sayedjuned : 경로 찾기가 어려울 경우를 대비하여 내보낼 필요가 없습니다. 할 수있는 일은 6 단계를 건너 뛰고 7 단계로 이동하는 것입니다. ndk-build 대신에 ndk-build에 대한 절대 경로를 지정하십시오. – Zax
@sayedjuned : 또한 위의 단계를 수행 할 수있는 ternimal을 통해 이클립스에서이 작업을 수행 할 필요가 없습니다. – Zax