2012-12-14 6 views
9

가능한 복제를 재 구축이다 NDK 라이브러리
Prevent ndk-build from automatically cleaning module모든 NDK 빌드 전체가

안드로이드 프로젝트. NDK r8c. Cygwin에서 컴파일하기 (이것은 오래된 프로젝트입니다).

C++ 및 C 파일 모음과 LOCAL_LDLIBS를 통해 링크 된 일부 .a 라이브러리.

얼마 전부터 모든 NDK 빌드가 모든 소스 파일에 적용됩니다. 두 번 연속해서 ndk-build를 호출하더라도 두 번째 시도에서 전체 재 구축이 있습니다. 내가 볼 수있는 .mk 파일에는 효과가 없으며 빌드를 위해 호출하는 명령은 바닐라 $NDKPATH/ndk-build입니다. 어느 곳에서도 -B 옵션이 없습니다.

유일한 주름이 있습니다 :

/cygdrive/c/android-ndk-r8c/build/core/add-application.mk:128: Android NDK: WARNING: 
APP_PLATFORM android-9 is larger than android:minSdkVersion 3 in 
/cygdrive/d/AppPath/AndroidManifest.xml 

이 무엇을하시기 바랍니다이야 : 모든 빌드, NDK는 다음 말한다? 어떻게 든 파일 날짜가 make 인 것을 기반으로 모든 것을 재구성하기로 결정할 수 있습니까?

+0

$1: $$(__ndk_file_dir)

에서 선 289 빌드/코어/definitions.mk의 변경이다. –

답변

13

r8c에 알려진 버그로 인해 소스 코드가 변경되지 않아도 전체를 다시 빌드 할 수 있습니다. this bug report을 참조하십시오.

제안 수정 (안 광산) NDK의 r8d에 고정

$1: | $$(__ndk_file_dir)

+0

패치가 적용되어 작동했습니다. 더 나은 답변 (및 upvotes)을 위해서 패치 스크립트를 여기에 붙여 넣을 수 있습니다. –

+1

수정 사항입니다. 또한 make에 -j 플래그를 설정하는 것이 좋습니다. 기사 작성을 위해 [이 기사] (http://www.renderpaz.com/2012/12/speed-up-your-android-ndk-build.html)를 참조하십시오. 짧은 요약 : build.xml에''을 추가하십시오. – addaon

+0

@glo :이 질문과 관련이 없습니다. 해당 문제에 대한 해결책을 찾을 수 없다면 _new_ 질문을 자유롭게 게시하십시오. – Michael

관련 문제