将 Android apk 与其他可执行文件一起打包

2024-04-06

作为先前问题的后续(Android ioctl - root权限和使用 https://stackoverflow.com/questions/6983156/android-ioctl-root-permissions-and-usage/6983704),是否可以创建一个单独的本机可执行文件并将其打包在 APK 中?

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


有一种简单的方法可以将可执行文件打包到 APK 中,并让系统安装程序负责解压该可执行文件,请参阅如何将原生命令行应用程序打包成apk? https://stackoverflow.com/questions/17383552/how-to-package-native-commandline-application-in-apk.

诀窍(已测试到 Jelly Bean 4.3)是将文件命名为“lib我的可执行文件.so”并将其放入libs/armeabi你的 Android 项目(我假设是 ADT 或 ant 构建)。包管理器会将文件解压到/data/data/your.package.full.name/lib(出于向后兼容性的原因,它是一个符号链接,因此也许在 Android 的未来版本中,这将不再起作用)在设备上,具有可执行权限。

请注意,该文件有all读取和执行权限,因此您可以使用Runtime.getRuntime().exec() http://developer.android.com/reference/java/lang/Runtime.html#exec(java.lang.String) or system() http://linux.die.net/man/3/system也来自其他应用程序。

Update:这些天,你应该使用libs/armeabi-v7a对于 32 位 ARM 可执行文件,您可能还需要准备相同可执行文件的 64 位 ARM 版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Android apk 与其他可执行文件一起打包 的相关文章

随机推荐

  • 尝试启动 TunnelProvider 网络扩展时出现 NEVPNErrorDomain 错误 1

    我正在尝试通过从 TunnelProvider 的 XCode 模板开始 然后将代码添加到主机应用程序来配置并启动它来制作自定义 TunnelProvider 网络扩展 我正在使用 NETunnelProviderManager 的实例来配
  • 如何使用冒泡排序在 Python 3 中对列表进行排序和子排序

    我正在为我正在学习的课程解答一个额外问题 假设我们有一个列表 例如mylist a1 b2 a3 c1 b1 a5 b3 c9 我想使用基本的Python而不导入任何东西 我想首先按字母顺序对列表进行排序 然后对于每个字母 我按数字排序 因
  • 拖放到桌面图标上

    我想这应该很简单 我在这里看过类似的问题 但我的旧大脑并不清楚它应该如何工作 我有一个 Windows 窗体应用程序 我的用户想要将文件拖到桌面上的应用程序图标上 并使用该文件执行程序 所以我想做的是 接受图标上放置的文件 启动应用程序并将
  • App Engine 从 JsonProperty 返回 JSON

    我喜欢如何JsonProperty当属性放入数据存储时 自动将 Python 结构编码为 JSON 并在检索时自动解码 但是 最好将该 JSON 数据发送到 Web 浏览器 而无需再次对其进行编码 有没有办法获取原始 JSON 数据 即阻止
  • 线程本地存储开销

    假设有一些不可重入函数使用全局变量 int i void foo void modify i 然后 我想在多线程代码中使用这个函数 所以我可以这样更改代码 void foo int i modify i 或者 通过使用 gcc thread
  • Java Swing - Repaint() 无法正常工作

    我从以下位置获取程序这个话题 https stackoverflow com questions 8693342 drawing a simple line graph in java 我尝试在实时模式下编辑点 我将 MouseMotion
  • API 和 ABI 之间的区别

    我是 Linux 系统编程新手 在阅读时遇到了 API 和 ABILinux系统编程 API定义 API 定义了接口 通过这些接口 一个软件可以进行通信 与源级别的另一个 ABI的定义 而 API 定义了源 接口 ABI 定义了 两者之间的
  • Xpath 选择包含特定列表子集的元素

    再会 假设以下 XML
  • “ps aux”有效,但“ps -aux”无效

    这似乎是一个愚蠢的问题 但我一直无法找到明确的答案 这个网站 http www linfo org ps html表明破折号是可选的 ps aux 然而 ps aux有效但是ps aux引发错误no user named x 有什么想法可能
  • 无法解析方法“registerForActivityResult”

    我正在构建一个自定义电容器插件来获取用户的电话号码 我将电容器 3 与 Ionic 6 一起使用 我找到了一个未被弃用的解决方案 并且是最近才获取用户的电话号码 这是我获取电话号码的代码 private void requestHint H
  • Chrome在浏览器后退按钮上再次执行所有JS

    我正在开发一个网络应用程序 我编写了一些 JS 脚本 以便在文档就绪时执行 但是在 Chrome 中 当我们单击后退按钮并返回到上一页时 它会再次执行所有 js 脚本 但是当我在 Firefox 上使用相同的方法时 它不会执行 JS 我在页
  • R 中的子列表命名

    假设我有一个包含 3 个子列表的列表 每个子列表携带 3 个数据帧 它看起来像这样 数据在最后 然后假设我有 2 个向量 j lt seq 10 20 length out 3 v lt seq 0 1 length out 3 我想创建一
  • 我应该将 Visual Studio 调试器附加到哪个进程来调试 Kestrel 应用程序?

    我正在启动命令行并使用运行我的应用程序dotnet run命令 这将启动 Kestrel 并显示我的应用程序 我应该如何确定要附加调试器的进程 以便可以调试 Kestrel 现在托管的网站 我特别需要能够这样做 这意味着我不能使用标准 F5
  • 如何在 Selenium 中结合隐式和显式超时?

    我正在使用带有隐式超时的 Selenium ChromeDriver driver Manage Timeouts ImplicitWait TimeSpan FromSeconds 5 在我的一项测试中 我想用明确的超时来覆盖它 在读取属
  • 类型变量和局部抽象类型有什么区别?

    我试图理解的目的局部抽象类型在 OCaml 中 局部抽象类型与类型变量有何不同 看来他们有相同的行为 Type variable let f x a a x val f a gt a
  • Flutter 升级后无法运行应用版本解决失败

    Nope 这个答案不起作用 https stackoverflow com questions 51375674 error after running flutter upgrade这次对我来说 My flutter doctor v F
  • 选择最新的作为分组依据(或其他解决方案...)的一部分

    我有一个表 其中重要的列如下所示 username source description 我的目标是获取用户 源组合唯一的 10 条最新记录 从以下数据来看 1 katie facebook loved it 2 katie faceboo
  • 在模板中使用 django 查询集会访问数据库吗?

    当针对非上下文值调用时 模板值标签是否会强制 django 访问数据库 例如 request user username 是显示当前登录用户的用户名的调用 然而 像 request user someobject set all 会将 FK
  • 元素的屏幕坐标,通过 Javascript

    我试图获取浏览器窗口中元素的屏幕坐标 即相对于屏幕的左上角 很容易获取窗口的大小和位置 screenX screenY 也很容易 使用 jQuery 获取元素的偏移量 element offset left 但是 我需要知道从元素一直到屏幕
  • 将 Android apk 与其他可执行文件一起打包

    作为先前问题的后续 Android ioctl root权限和使用 https stackoverflow com questions 6983156 android ioctl root permissions and usage 698