Существует простой способ упаковать исполняемый файл в APK, и пусть системный установщик позаботится о распаковке этого исполняемого файла, см. Как упаковать собственное приложение командной строки в apk? .
Хитрость (проверенная до Jelly Bean 4.3) состоит в том, чтобы назвать файл " lib myexecutable .so " и поместить его в libs/armeabi
вашего проекта Android (я полагаю, ADT или сборка муравья). Диспетчер пакетов распакует файл на /data/data/your.package.full.name/lib
(это символическая ссылка из соображений обратной совместимости, поэтому, возможно, в какой-то будущей версии Android это больше не будет работать) на устройстве с разрешениями для исполняемого файла.
Обратите внимание, что файл имеет all
разрешения на чтение и выполнение, поэтому вы можете использовать Runtime.getRuntime (). Exec () или system () из других приложений тоже.
Обновление:
В наши дни вы должны использовать libs/armeabi-v7a
для 32-битных исполняемых файлов ARM, и вам, вероятно, нужно подготовить 64-битную версию ARM для тех же исполняемых файлов.