安卓apk附加可执行文件

时间:2011-08-09 15:08:00

标签: android deployment jar apk android-ndk

作为对早期问题(Android ioctl - root permissions and usage)的跟进,是否可以创建单独的本机可执行文件并将其打包到APK?

该应用程序需要root访问权限并且不会进入Android市场,但我希望能够在不使用将额外可执行文件推送到设备上的脚本的情况下安装它。

2 个答案:

答案 0 :(得分:9)

有一种简单的方法可以将可执行文件打包到APK中,让系统安装程序负责解压缩此可执行文件,请参阅How to package native commandline application in apk?

诀窍(测试到Jelly Bean 4.3)是将文件命名为“ lib myexecutable .so ”并将其放入Android的libs/armeabi project(我假设是ADT或ant build)。软件包管理器将文件解压缩到/data/data/your.package.full.name/lib(这是一个符号链接,出于向后兼容的原因,所以可能在Android的某些未来版本中,这将不再起作用)在设备上具有可执行权限。

请注意,该文件具有all个读取和执行权限,因此您也可以使用其他应用中的Runtime.getRuntime().exec()system()

<强>更新 现在,您应该将libs/armeabi-v7a用于32位ARM可执行文件,并且您可能还需要准备相同可执行文件的64位ARM版本。

答案 1 :(得分:4)

您可以将其放入资源并在首次运行时将其复制到应用程序的私人目录中。设置可执行位后,您应该能够运行它。