내 시스템에 64비트 Ubuntu 16.04가 설치되어 있습니다. 어떤 이유로 루트 디렉터리를 컴파일 작업에 필요한 필수 라이브러리가 설치된 다른 시스템의 복사본에 불과한 디렉터리로 변경해야 했습니다.
나는 chroot를 사용하여 디렉토리를 루트로 설정했습니다. 이제 파일을 컴파일해야 하는 Android용 32비트 바이너리를 컴파일할 때 libc++.so
오류가 발생합니다 .
error while loading shared libraries: libc++.so: wrong ELF class: ELFCLASS64
.so 파일의 파일 출력:
$file /cpa/android/sdk/build-tools/23.0.3/aapt
/cpa/android/sdk/build-tools/23.0.3/aapt: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=cfb63b4ad11d0c2d59f10329f0116706e99bf72e, not stripped
Android 바이너리를 컴파일합니다.