2014-09-30 1 views
0

Eclipse 용 ADT와 함께 ndk를 사용하여 Android 용 앱을 빌드하면 정상적으로 작동합니다. 그러나 나는 왜 건물 프로세스가 팔과 엄지 모두를 컴파일해야하는지 궁금하다. 즉, 소스 파일에서 수정을 할 때마다 팔과 엄지를 다시 컴파일한다. 그게 필요 할까 ? 어떻게하면 빌더가 armabi-V7a 만 컴파일하고 링크하도록 할 수 있습니까? 그건 2로 내 빌드 프로세스 시간을 나눌 것입니다 ...Eclipse ADT에서 팔과 엄지가 모두 컴파일되는 이유는 무엇입니까?

+0

현재 안드로이드 라이브러리는 ARM과 THUMB 명령어를 혼합하여 사용하는 경향이 있습니다. 내부 기능은 일반적으로 THUMB이고 외부 연결 고리는 ARM입니다. –

답변

1

아마도 당신은 아마 v6과 arm v7a를 의미할까요? 둘 다 ARM 또는 THUMB로 컴파일 할 수 있습니다. 이것은 Android.mk의 LOCAL_ARM_MODE에 의해 제어됩니다. armeabi을 사용하지 않으려면, Application.mk

APP_ABI=armeabi-v7a 

을 설정합니다. 이렇게하면 빌드 시간이 줄어들뿐만 아니라 APK의 크기도 줄어 듭니다.

+1

답변을 찾았습니다. 나는 Juce 프레임 워크를 사용하여 자동으로 Android.mk는이 같은 테스트로 파일을 생성합니다 는 ifeq ($ (TARGET_ARCH_ABI), armeabi-V7A) LOCAL_ARM_MODE =이 ENDIF 팔 Juce 곳을의 기본 설정이 있습니다 armeabi 및 armeabi-V7a 라이브러리를 요청합니다. 나는 그것을 단지 armeabi-V7a로 바꾸 었으며 이중 빌드 프로세스 (arm + thumb)를 더 이상 얻지 못한다. 하지만 당신의 대답은 내가 올바른 장소를 바라 보는 데 도움이되었으므로 +1 ... :) – DrMad

+0

왜 그들은 팔 v7a에서 엄지 코드가 좋지 않다고 말할 수는 없지만 ** ifeq **를 삭제하더라도, 당신은 여전히 ​​현대적인 장치만을 대상으로한다면 성가심이 두 배가됩니다. –

관련 문제