向其他Android应用程序公开二进制文件



我想在我的android设备上使用git作为CLI工具,可以通过本地终端应用程序使用。我已经成功地为aarch64-linux-android交叉编译了git,如果我使用根shell将其移动到设备上的一个ext4文件系统,我可以成功地调用它。

但是,安装并与root一起使用它是不可取的。我通常不打开我的设备,只是暂时启用root来做这样的实验。以root用户身份安装并没有那么糟糕,但似乎只有安装了读/写的ext4文件系统位于终端应用程序无法读取的位置,所以我不能将其作为非root用户使用,这会破坏交易*。

如果可能的话,我更愿意将其打包为APK,这样它就可以作为普通用户进行侧载。我还希望能够从终端应用程序中调用它。如果我必须手动调整$PATH,那没关系,但如果APK可以将其放置在$PATH上的某个位置,或者在安装时让操作系统扩展$PATH,那就可以获得加分。

*(我知道我可以将/system重新安装为r/w,将其安装为root,这将使它对所有应用程序都可用。我不想修改/system,因为"工厂重置"不能确保我回到工作状态。我知道这将是一个相对安全的更改。如果这真的不可能,我会这样做,但APK会更好(

我认为你做不到。安卓系统旨在防止这样的事情:每个APK只能在一个(有点(隔离的容器中运行。

APK无法在根文件夹中安装可执行文件。修改$PATH也不会起作用(如果系统甚至允许您修改它的话(,因为每个APK都由不同的用户执行,因此环境也会不同。我甚至不确定你是否可以在普通文件夹中将文件标记为可执行文件。

一种解决方法是通过ContentResolver提供可执行文件的路径(如果可以将文件标记为可执行文件(。

相关内容

最新更新