Я пытаюсь решить эту проблему:
E / RenderScript: невозможно открыть общую библиотеку (/data/user_de/0/com.xxxx/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.so): (ноль)
Я установил Renderscript в build.gradle, как указано в документации:
android {
...
defaultConfig {
...
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
}
Сначала я подумал, что это потому, что сам рендер-скрипт находится в другом модуле (который создает .aar, связанный с проектом приложения), но это, похоже, не проблема. Я попытался поместить вышеупомянутое и в модуль .aar и в модуль приложения - без разницы.
Моим следующим шагом было посмотреть на содержимое .aar и .apk, что приводит к моему вопросу: могу ли я где-то увидеть сгенерированные файлы .so? Я ожидал увидеть .so для arm7 и еще один для x86, но нет.
Есть несколько ТАКИХ вопросов по этому поводу, но они не одно и то же. Но мой главный вопрос здесь связан с тем, как я устраняю неполадки: где заканчивается этот .so файл. Я думаю, что инструменты на самом деле должны быть в порядке, потому что он успешно генерирует заглушки Java для Renderscript ....
...
РЕДАКТИРОВАТЬ: может быть, я неправильно понимаю, что здесь происходит. После вставленной ошибки появилось еще два сообщения:
E / RenderScript: невозможно открыть общую библиотеку
(/Data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.so):
(ноль) V / RenderScript: вызов / system / bin / bcc с аргументами
'/ system / bin / bcc -unroll-runtime -scalarize-load-store -rs-global-info
-rs-global-info-skip-constant -o yuv2rgbframes -output_path /data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache -bclib /system/lib64/libclcore.bc -mtriple aarch64 -none-linux-gnueabi -O 3 -aarch64-fix-cortex-a53-835769 -load libbccQTI.so -fPIC -embedRSInfo /data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache /yuv2rgbframes.bc
-build-checkum abadcafe 'V / RenderScript: вызов /system/bin/ld.mc с аргументами' /system/bin/ld.mc -shared -nostdlib
/system/lib64/libcompiler_rt.so -mtriple = aarch64-none-linux-gnueabi
--library-path = / system / vendor / lib64 --library-path = / system / lib64 -lRSDriver_adreno -lm -lc /data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache /yuv2rgbframes.o
-o /data/user_de/0/com.xxx.powerscan/code_cache/com.android.renderscript.cache/librs.yuv2rgbframes.so'
Действительно ли он генерирует этот .so на платформе?