Загрузите .so lib из внешнего apk - PullRequest
0 голосов
/ 17 апреля 2020

Я работаю над приложением android, которое состоит из кода java и небольшой нативной библиотеки jni, конечный выпуск apk составляет около 5 МБ (включая нативную библиотеку). В этом приложении есть возможность создавать видео, и для этого мы используем ffmpeg + несколько дополнительных суффиксов (png-файлы, аудио и т. Д. c), которые добавляют около 30 МБ к размеру apk (для каждого abi). Установленное пространство занимает гораздо больше места.

Собственная библиотека jni lib динамически связана с файлом ffmpeg .so.

Так как это необязательная функция, которую будут использовать не все пользователи, я думаю, что это пустая трата ресурсов, чтобы включить 30 МБ в конечный файл.

Поэтому я подумал о создании отдельного приложения (или служба, не уверенная в именовании), которая не будет иметь пользовательского интерфейса, а будет иметь только собственную библиотеку lib и ресурсы и основное приложение; если пользователю нужны функции видео, приложение откроет магазин Google Play, чтобы пользователь мог установить этот дополнительный apk .

Это было бы хорошим решением? Возможно ли иметь основное приложение для загрузки .so файлов с внешнего apk? Я почти уверен, что при попытке сделать это возникнут проблемы с разрешением. Есть ли такая возможность, как дать разрешение основному приложению сделать это? А как насчет файлов ресурсов?

Я нашел несколько сообщений о динамической загрузке файлов .so, но, похоже, это противоречит политикам магазина воспроизведения, так что это не вариант.

...