2017-05-22 3 views
0

RenderScript 라이브러리를 사용하려는 Samsung Galaxy S7이 있습니다. 이 라이브러리는 RenderScript의 지원 버전을 사용하며 앞에 RenderScript.forceCompat() 행이 있습니다.RenderScript - arm64-v8a 장치에서 생성 된 ScriptC 파일 "libRSSupportIO.so"을 찾을 수 없습니다.

응용 프로그램의 Gradle을 파일에는 종속성 블록이 라인이 있습니다

defaultConfig { renderscriptTargetApi 21 renderscriptSupportModeEnabled true renderscriptSupportModeBlasEnabled true }

ABI의 분할은 arm64-v8a ABI의 분할을 포함합니다.

다음 스택 트레이스는 라이브러리가 ScriptC 파일을 초기화 할 때 생성됩니다

05-22 10:23:34.600 7568-7633/com.picmix.mobile V/RenderScript_jni: RS compat mode 05-22 10:23:34.608 7568-7633/com.picmix.mobile V/RenderScript_jni: Unable to load libRSSupportIO.so, USAGE_IO not supported 05-22 10:23:34.615 7568-7942/com.picmix.mobile E/RenderScript: Couldn't load libRSSupportIO.so 05-22 10:23:34.633 7568-7942/com.picmix.mobile E/RenderScript: Unable to open shared library (/data/app/com.picmix.mobile-1/lib/arm64/librs.img2alloc.so): dlopen failed: library "libRSSupportIO.so" not found 05-22 10:23:34.633 7568-7942/com.picmix.mobile E/RenderScript: Unable to open system shared library (/system/lib/librs.img2alloc.so): (null)

는 분명히 이것은 단지 모두 armv8l 아키텍처를 사용하여 S6와 S7 장치에서 발생합니다. 필자는 다른 장치 (Oppo A37, Huawei ALE-L21 및 Samsung Galaxy J2)에서이 장치를 테스트했으며,이 장치는 모두 API 23 이하 였고 Oppo 및 S6에는 "aarch64"아키텍처가 있습니다.

내가 누락 된 항목이 있습니까? libRSSupportIO.so을 수동으로 포함해야하나요? 내 APK의 libs 폴더를 살펴볼 때 libRSSupport.so이 표시됩니다.

편집 : 내 빌드 도구 버전은 25.0.3입니다.

EDIT 2 : 다음 스택 추적이 관련된 경우 앱이 고장난 직후 SIGSEGV가 있습니다.

05-23 09:23:18.815 21603-21603/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 05-23 09:23:18.815 21603-21603/? A/DEBUG: Build fingerprint: 'samsung/zerofltexx/zeroflte:7.0/NRD90M/G920FXXU5EQCK:user/release-keys' 05-23 09:23:18.815 21603-21603/? A/DEBUG: Revision: '11' 05-23 09:23:18.815 21603-21603/? A/DEBUG: ABI: 'arm64' 05-23 09:23:18.815 21603-21603/? A/DEBUG: pid: 19971, tid: 21568, name: AsyncTask #6 >>> com.picmix.mobile <<< 05-23 09:23:18.815 21603-21603/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c 05-23 09:23:18.815 21603-21603/? A/DEBUG: x0 0000000000000000 x1 0000000000000000 x2 0000000000000008 x3 0000000000000100 05-23 09:23:18.815 21603-21603/? A/DEBUG: x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 0000000000000000 05-23 09:23:18.815 21603-21603/? A/DEBUG: x8 0000000000000000 x9 0000007e1b7f4020 x10 0000000000000000 x11 0000000000000000 05-23 09:23:18.815 21603-21603/? A/DEBUG: x12 0000000000000018 x13 0000000000000000 x14 0000000000000000 x15 000f2561f7049c9e 05-23 09:23:18.815 21603-21603/? A/DEBUG: x16 0000007e1b7f2520 x17 0000007e1b71b344 x18 00000000ffffffff x19 0000000000000000 05-23 09:23:18.815 21603-21603/? A/DEBUG: x20 0000000000000000 x21 0000007e1d0d03c0 x22 0000007e1b3feaf0 x23 0000007e1d0d03f0 05-23 09:23:18.815 21603-21603/? A/DEBUG: x24 0000000000000001 x25 00000000ffffffff x26 0000000000000000 x27 0000000000000008 05-23 09:23:18.815 21603-21603/? A/DEBUG: x28 0000007e1b7c4798 x29 0000007e1b3feac0 x30 0000007e1b722bac 05-23 09:23:18.815 21603-21603/? A/DEBUG: sp 0000007e1b3feab0 pc 0000007e1b71b358 pstate 0000000060000000 05-23 09:23:18.823 21603-21603/? A/DEBUG: backtrace: 05-23 09:23:18.823 21603-21603/? A/DEBUG: #00 pc 0000000000068358 /data/app/com.picmix.mobile-2/base.apk (offset 0x215e000) 05-23 09:23:18.823 21603-21603/? A/DEBUG: #01 pc 000000000006fba8 /data/app/com.picmix.mobile-2/base.apk (offset 0x215e000) 05-23 09:23:18.824 21603-21603/? A/DEBUG: #02 pc 0000000000063bbc /data/app/com.picmix.mobile-2/base.apk (offset 0x215e000) 05-23 09:23:18.824 21603-21603/? A/DEBUG: #03 pc 0000000000068258 /system/lib64/libc.so (_ZL15__pthread_startPv+196) 05-23 09:23:18.824 21603-21603/? A/DEBUG: #04 pc 000000000001dc00 /system/lib64/libc.so (__start_thread+16)

답변

0

libRSSupportIO.so는 선택적 구성 요소입니다, 당신은 그것에 대해 메시지를 무시할 수 있습니다.

저는 실제 원인이 librs.img2alloc.so를 찾을 수 없다고 생각합니다. librs.img2alloc.so가 장치에 있는지 확인하십시오.

+0

내가 만든 APK에 있습니다. 물론입니다. armeabi-v7a, x86 및 arm64-v8a에서는 lib 폴더의 일부입니다. – Gensoukyou1337

관련 문제