2012-01-03 2 views
13

내 제품에서 APK 파일을 Android 4.0.1을 실행하는 Galaxy Nexus에 설치할 때 잘못된 .so 파일이 설치되고 있음을 발견했습니다. armeabi, armeabi-v7a 및 x86 용 원시 코드가 포함 된 소위 "뚱뚱한"APK가 있습니다.Galaxy Nexus - 설치 중에 잘못된 CPU ABI가 선택됨

Armeabi CPU ABI의 .so 파일이 armeabi-v7a .so 파일보다는 APK 파일에서 추출되는 것을 확인했습니다. APK 파일에서 "armeabi"폴더를 제거하면 galaxy nexus는 armeabi-v7a 폴더에서 .so 파일을 올바르게 설치합니다.

나는 넥서스의 CPU ABI가 "armeabi-v7a"이고 보조 ABI가 "armeabi"임을 확인했습니다.

다른 사람이이 문제를 보았으며 APK의 libs 디렉토리에서 "armeabi"폴더를 제거하지 않고 문제를 해결할 방법을 찾았습니까?

답변

12

이것은 버그 인 것 같습니다. 나는 또한 네이티브 코드를 사용하여 작은 프로젝트를 생성하여이를 테스트했으며 실제로 Galaxy Nexus는 잘못된 라이브러리 (armeabi-v7a 대신 armeabi)를 선택합니다.

이 버그는 http://code.google.com/p/android/issues/detail?id=25321에보고되었으며 버그에 첨부 된 샘플 프로젝트가 있습니다. 안드로이드 엔지니어에게 관심을 갖기 위해 별표를주십시오.

Android floating point math performance 다른 StackOverflow 질문도이 버그에서 비롯된 것으로 보입니다.

관련 문제