제가 작성한 프로그램은 armeabi, armeabi-v7a, arm64-v8a, x86 so 파일 4개를 삭제해서 APK 크기를 줄이고 싶었는데, 일부 모델의 일부 기능을 삭제하면 오류가 발생합니다. WeChat은 armeabi-v7a, arm64-v8a 없이 armeabi so 파일만 컴파일한 것으로 나타났습니다. x86은 다양한 프로세서가 있는 휴대폰에서 어떻게 실행됩니까?
PHP中文网2017-05-16 13:32:30
armeabi는 armeabi, armeabi-v7a, arm64-v8a에서 실행을 지원하고 일부 x86도 지원하기 때문입니다. 기본적으로 시중에는 밉 아키텍처 휴대폰이 없으므로 이론적으로 하나의 armeabi가 모든 휴대폰을 지원할 수 있습니다. armeabi는 v7 v8에서 실행되지만 효율성은 다릅니다.
Android so 파일에 대해 알아야 할 사항에 대해 이 내용을 읽을 수 있습니다
某草草2017-05-16 13:32:30
모든 x86/x86_64/armeabi-v7a/arm64-v8a 장치는 armeabi 아키텍처 .so 파일을 지원하므로 다른 ABI에서 .so 파일을 제거하는 것이 APK 크기를 줄이는 좋은 방법인 것 같습니다. 그러나 실제로는 그렇지 않습니다. 이는 함수 라이브러리의 성능과 호환성에만 영향을 미치는 것이 아닙니다.
x86 장치는 ARM 유형 함수 라이브러리를 매우 잘 실행할 수 있지만, 특히 오래된 장치의 경우 충돌이 100% 발생하지 않는다는 보장은 없습니다. 64비트 장치(arm64-v8a, x86_64, mips64)는 32비트 함수 라이브러리를 실행할 수 있지만 32비트 모드에서 실행하는 경우 64비트 플랫폼에서 32비트 버전의 ART 및 Android 구성 요소를 실행하면 64비트 라이브러리가 손실됩니다. -비트 성능(ART, webview, 미디어 등).
曾经蜡笔没有小新2017-05-16 13:32:30
우선, armeabi는 다른 아키텍처 armeabi-v7a, arm64-v8a 및 x86과 호환됩니다. 둘째, 방금 WeChat armeabi 디렉터리를 보았습니다. 이 디렉터리에 다른 아키텍처의 SO 파일을 배치한 다음 코드를 통해 로드할 아키텍처의 SO 파일을 선택할 수도 있습니다.