서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

NDK 컴파일에서 계속 에러가 나서

알려주신 방법을 적용 하고저 다시 리녹스 부터 설치 중입니다...

 

아직 컴파일을 못해봐서 궁금한데요

 

질문 1)

컴파일이 끝나면 몇개의 *.img 파일이 생긴다고 하셨는데요

이 것을 어떻게 적용을 해야는건지요?

애뮬레이터에서 일거드린다고 하신 부분이 정확하게 어떻게 적용해야 하는건지요?

그리고 *.img 파일드을 윈도우로 가저와서 사용해도 되는지요?

 

질문 2)

다운받은 소스를 보니 external 폴더에 말씀해 주신대로 openssl 이 있습니다.

컴파일을 하고 나면 openssl도 컴파일이 되서 *.so 파일로 생성이 되는건지요?

아니면 별도로 컴파일을 해서 so파일을 만들어야 하는지요?

 

질문 3)

*.a로 만들어진 파일을 사용 하려면 *.so로 변환해야 한다고 하셨어

책에서 two-libs 설명 부분을 다시 읽어 보았습니다. 이해가 잘 안됩니다.

간단한 예제 하나 보내주시면 감사하겠습니다.

 

행복한 한가위 보내세요*^^*

 

 


고도리

2012.09.28 21:19:21
*.200.239.210

A1> 윈도우로 가져와서 사용해도 됩니다. emulator관련 image를 교체해서 사용하셔도 됩니다.

다만 좀 위험할 수는 있습니다 - 동작시...^^


예전에는 실제로 이렇게 개발한 적도 있습니다.


A2> system/lib 디렉토리 보시면 생성되어 있습니다. 즉, 사용할 수 있다는 얘기입니다.

제가 사용하는 Origen4412용의 android 소스는 다음과 같이 되어 있습니다.


root@godori:/hdd/root/work/19.4412-ics-kernel/33.20120903-android/out/target/product/origen_quad/system/lib# l *ssl*

-rwxr-xr-x 1 root root 187364 Sep  5 15:08 libssl.so


A3> .a로 된 라이브러리 즉.......static library는 컴파일시에만 사용됩니다. 

- static library

확장자 .a, 컴파일시만 사용되며 최종 실행 binary 혹은 다른 library에 포함이 되어 버리는 라이브러리


- shared library: 확장자 .so, windows에서 얘기하는 DLL과 같은 형태를 얘기하며, 컴파일시 binary와 다른 library에 포함이 되지 않고 동적으로 binary 실행시 로딩되는 라이브러리


안드로이드 플랫폼에서는 .a는 최종 컴파일 결과물에 존재하지 않습니다. 즉, 최종 컴파일된 결과물의 어느 하나의 binary(실행파일) 혹은 특정 library에 이미 포함되어 있는 형태입니다.


그러므로, .a로 만드시면 다른 결과물(binary or shared library)에 이미 포함되는 구조입니다. 즉, 라이브러리 형태로 사용하려면 컴파일시만 사용해야하고, 동적으로 로딩은 못시킨다는 것입니다.


하지만, NDK는 모든 라이브러리를 동적으로 로딩해야 하는 구조이기 때문에, .a로 만드실 경우 사용하지 못한다는 것입니다.


이런 이유로 .a로 만들어 놓은 라이브러리들은 간단하게 다른 함수로 wrapping을 해서 .so의 형태로 단순 치환해서 사용하시면 된다는 얘기입니다.


간단한 예제가 two-libs 입니다만, 다른 예제가 있는지 찾아보겠습니다.


더페이퍼

2012.10.04 18:08:30
*.171.36.254

연휴는 행복하게 보내셨는지요*^^*

 

답변을 읽어보니 우선은 안드로이드 소스를 컴파일을 해서 .so 파일을 만들어서 사용하는 것이 빠른 방법이겠네요

 

답변 감사합니다.

 

 

List of Articles
번호 제목 글쓴이 날짜 조회 수
23 책내용 문의 드립니다. [2] k2h 2012-10-12 4378
22 NDK관련 코드 문의 [2] k2h 2012-10-05 4325
» NDK 소스 빌드 질문 드립니다. [2] 더페이퍼 2012-09-28 4545
20 소스분석 관련하여 [4] whiterub 2012-09-28 4259
19 NDK 컴파일이 안됩니다. file [8] 더페이퍼 2012-09-25 5335
18 79쪽 예제 말이에요 ㅠㅠ [1] 앙아앙아 2012-09-20 4536
17 NDK 개발 환경 설정하기에서 문제입니다. file [2] 프리월드 2012-09-19 5163
16 JNI로 휴대폰 디바이스 번호를 구하려고 합니다 file [3] fox8306 2012-09-19 6884
15 책을 보다 몇가지 질문이 생겼습니다. [6] 더페이퍼 2012-09-18 5527
14 261페이지 맨 아랫줄에 대해 문의드립니다. [2] binch 2012-07-18 5747
13 RGB 부분에 대해서 질문이 있습니다. [1] ys2cdh 2012-01-05 7382
12 책이 나온내용이지만 좀 다른예기일수도 잇네요 [1] 가쓰비 2011-12-21 7578
11 chapter7 안드로이드 오디오 서브시스템 에서 궁금한게 있습니다 [1] 가쓰비 2011-12-16 8017
10 개발환경 설정 중 문의사항입니다. file [1] 정바타 2011-10-14 7907
9 117쪽 ueventd 실행 부분.. [1] 홍순민 2011-08-30 8855
8 p186. Gingerbread 센서 구조의 간략한 설명 요청드립니다. [3] forone 2011-08-25 8432
7 475페이지 그림 외 건의 사항.. [2] 장병남 2011-07-22 8635
6 책 관련해서 질문이 있습니다. [1] winpih 2011-07-13 9036
5 안드로이드 init의 특징에 대해 질문있습니다. [2] 얼사마 2011-07-12 9024
4 안드로이드의 모든것 분석과 포팅 교재 관련 [2] nexus26 2011-07-05 10588

사용자 로그인