2012-07-22 3 views
1

SDK, NDK, JDK 및 Cygwin을 설치했습니다. 라이브러리의 코드를 편집하여 Android (armv7) 용으로 컴파일해야하는지 알고 싶습니다.Android 용 C에서 라이브러리 컴파일

기본적으로 Android 용 C 응용 프로그램을 다양하게 포팅해야하지만 PCRE, OpenSSL 등과 같은 타사 라이브러리에 의존합니다. 내 경험에 비추어 볼 때 PCRE는 Windows 용 오류없이 컴파일되지만 여기서는 안드로이드 (Linux 커널 실행)에 대해 이야기하고 있습니다.

JNI 호출 규칙을 준수하기 위해 라이브러리의 모든 기능에 대한 C 래퍼를 작성해야합니까?

+0

래퍼는 Java에서 호출 할 함수에만 필요합니다. C 응용 프로그램을 포팅 할 때 많은 래퍼가 필요하지 않습니다. – Codo

+0

하지만 말했듯이 하나의 응용 프로그램을 이식하려면 ARM 아키텍처에서 Linux 용 필수 라이브러리를 컴파일해야합니다. – farmdve

답변

1

Android NDK는 표준 C 구문을 컴파일하지만 Android에는 데스크톱과 동일한 C stdlib 라이브러리가 없습니다. 대신 Bionic이라는 자체 대안을 가지고 있습니다. 때로는 큰 프로젝트를 컴파일 할 때 bionic이 지원하지 않는 stdlib 함수 호출로 실행되므로 작은 해결 방법을 사용해야합니다.

가끔 인기있는 라이브러리에 기존 JNI 래퍼가 있습니다. 그렇지 않으면 응용 프로그램에서 호출하는 함수에 대해 JNI 호출을해야합니다.

관련 문제