2017-04-12 1 views
0

Mac에서 v8을 안드로이드 용으로 빌드하려고합니다. 내 단계는 다음과 같습니다 :Mac에서 안드로이드 용 V8 빌드

  1. 는 V8 가져 depot_tools를 설치
  2. CD의 V8
  3. 자식 체크 아웃 브랜치 이름 (안드로이드에 대한 마지막 안정 버전)
  4. echo "target_os = ['android']" >> ../.gclient && gclient sync --nohooks
  5. make android_arm.release android_ndk_root=[full path to ndk]

그 말씀은

입니다.

에 아카이브 심볼 테이블 (실행 ranlib은)는

나는이 문제를 검색하지 않습니다. 이 상태에 대해 bug이 있습니다. 그러나 아직 해결되지 않았습니다.

나는 d8을 만들고 안드로이드 장치를 푸시하려고합니다. 내가 어떻게 해?

편집

V8 가이드는 building with GN을 제공합니다. 내가 그럼 난 ninja -C out.gn/arm.release/ 실행 gn gen out.gn/arm.release/ --args='is_debug=false android_ndk_root="/path/android-ndk" target_os="android" arm_arch="armv7-a" android_sdk_root="/path/android-sdk-r25" v8_static_library=true android_ndk_version="r11b"'

를 사용하여 NDK 루트 경로를 통과, 오류가 아래와 같습니다 :

NDK/툴체인/팔 리눅스 androideabi-4.9/사전 구축/다윈-x86_64에/lib 디렉토리/GCC/팔 - 리눅스 - androideabi/4.9.x/libgcc.o로 '필요한'OBJ/실종 libv8_base.a ', 그리고 알려진 규칙은 바로

되어 있는지 확인합니다. 내 libgcc가 4.9 폴더가 아니기 때문에 4.9.x이 아니기 때문입니다. libgcc 경로를 어떻게 설정할 수 있습니까?

+0

마지막으로 게시 한 이래로 어떤 진전이 있었습니까? – pkanev

답변

0

최신 빌드 지침은 https://github.com/v8/v8/wiki/Cross-compiling-for-ARM입니다. "android_arm을 만드십시오"라는 것은 구식입니다.

그러나 Mac에서 Android 용 건물이 지원되는지는 알 수 없습니다. 그것은 확실히 리눅스에서 작동합니다 (그래서 당신은 VM을 시도 할 수 있습니다). 무언가가 작동하지 않고 작동하게하려면 패치를 기꺼이 받아 들여야합니다. https://github.com/v8/v8/wiki/Contributing을 참조하십시오.

+0

외부 ndk로 v8을 구축하려면 어떻게해야합니까? cross complinig 가이드가 anyting을 말하지 않습니다. 'export ANDROID_NDK =/path/to/ndk'를 실행하십시오. 'ninja -C out.gn/arm.release d8'. ligcc가 발견되지 않는다고 말합니다 .. 가이드가 v8을 빌드하기에 충분하지 않습니다. –

+0

기본적으로 'gclient'를 통해 체크 아웃 된 NDK가 편의상 사용됩니다. 나 자신을 사용하는 방법 아마도 그것을 덮어 쓰려면'third_party/android_tools /'를 보라. – jmrk

+0

ndk를 삭제하고'third_party/android_tools /'에서 외부 ndk를 옮깁니다. 그러나 그것은 효과가 없습니다. –

0

당신은 ANDROID_NDK를 설정할 필요가 없습니다.

5 단계 : "의 target_os =는 [ '로이드']">> ../.gclient & & gclient 동기화 'NDK를 다운로드하는 것 "THIRD_PARTY/android_tools/NDK"

ndk_version해야> = 12.b