glibc를 안드로이드 glibc 또는 바이오닉 C와는 다른 팔에 맞게 컴파일했습니다. glibc 환경에서 필자는 더 많은 API를 제공하는 데 도움이 될 것입니다. 이제 Android가 실행되는 동안/system/폴더에 glibc 환경을 복사 할 수 있으며 chroot를 수행 할 때 glibc 환경에서 프로그램을 실행할 수 있습니다. 폴더에 구조화 된 미리 만들어진 파일 세트를 안드로이드 폴더에 추가합니다.
은 현재 내가내가의 glibc를 개별적으로 컴파일 /의 glibc glibc는을 tarring 안드로이드 에뮬레이터의 sdcard에 복사 한 후/시스템 폴더에 압축을 해제 한 후/시스템에 chroot를 수행 한 후 별도의 glibc와 안드로이드를 컴파일하고 오전 그런 다음 Android 소스 코드의 어딘가에 배치하십시오. Android 소스를 컴파일하는 동안 glibc의 사전 빌드 된 폴더 구조가/system 폴더로 복사되고 system.img의 일부가되도록해야합니까?
system.img를 Android 에뮬레이터에 복사하고 실행하면 glibc가 이미/system 폴더에 있고 glibc 환경에서 앱을 실행해야합니다. 나는 유리는 그의 대답에 언급 된 당 (내가 glibc는 폴더와이 폴더에 복사 한 모든 것을 창조)로 한 후 내가 코드를 컴파일 할 때
UPDATE
, 나는 출력 이하로 얻을.
build/core/main.mk:490: * Some files have been added to ALL_PREBUILT.
build/core/main.mk:491: *
build/core/main.mk:492: * ALL_PREBUILT is a deprecated mechanism that
build/core/main.mk:493: * should not be used for new files.
build/core/main.mk:494: * As an alternative, use PRODUCT_COPY_FILES in
build/core/main.mk:495: * the appropriate product definition.
build/core/main.mk:496: * build/target/product/core.mk is the product
build/core/main.mk:497: * definition used in all products.
build/core/main.mk:498: *
build/core/main.mk:499: * unexpected glibc in ALL_PREBUILT
build/core/main.mk:500: *
build/core/main.mk:501: * ALL_PREBUILT contains unexpected files. Stop.
그래서 내가 빌드/코어/legacy_prebuilts.mk
에서 glibc에 추가하지만 나는 여기에 도움이 될 책 "임베디드 안드로이드"의 예입니다
make: * No rule to make target mkdir', needed byout/target/product/generic/root/glibc'. Stop.
감사합니다. 그러나 귀하의 경우에는 glibc가 android toolchain을 사용하여 컴파일 될 때 컴파일 문제를 확인하고 수정해야 할 수도 있습니다. 변경없이 완벽하게 컴파일 될 수 있습니다. – Rookie
나는 이해하지 못한다. 미리 빌드 된 바이너리를 추가하려고합니까, 아니면 안드로이드 툴체인으로 glibc를 컴파일하고 싶습니까? – Yury
안녕하세요, Yuri, 특정 폴더 구조에 미리 빌드 바이너리를 추가해야합니다. 즉,/system/디렉토리에 추가해야하는 glibc 폴더의 폴더 구조에 바이너리가 많이 있습니다. – Rookie