我使用
Android NDK工具链编译了一个二进制文件,并尝试将其部署到设备上.使用JNI使用NDK构建的应用程序将通过本地代码执行此二进制文件.我希望避免生根器材.
该二进制文件将被多个应用程序使用,因此我想将它存储在共享位置,而不是每个应用程序一次.
我找不到适当的位置来部署这个二进制文件 – 这些是我试过的地方:
> / mnt / sdcard – 使用SDK中的getExternalStoragePublicDirectory(),然而SD卡被挂载为noexec,这意味着我无法运行它.
> / system / bin – 只读文件系统,所以不能复制.如果我在模拟器上重新安装/系统,可以使用adb push来推送文件:
mount -o rw,remount -t yaffs2 /dev/block/mtd3 /system
但是我想避免这种情况,因为该设备需要根植根.
> / data / local – 使用adb push,我可以把二进制到这个位置.但是,我似乎找不到一个方法来代码(使用Android SDK).内部存储机制指向/ data / data / package.
我编译了使用NDK工具链发送的arm-linux-androideabi-g调用此可执行文件的本机代码.这适用于/ system / bin和/ data / local中的二进制文件.
总而言之,我正在寻找Android文件系统中的一个位置,我可以从该文件系统从项目/ assets文件夹复制一个文件,哪个世界可执行的权限是可能的.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。