android - 包含的预构建 APK 作为系统应用程序无法正常工作
问题描述
我正在开发自定义 Android 构建,其中预构建应作为系统应用程序包含在内。简单地说,这个应用程序在它之后添加了 VPN 配置文件和打开链接。
我做了以下没有结果。我不遗余力。
- 首先,我将 APK 添加到
packages/apps/<app name>
,并将其模块名称build/make/target/product/base_system.mk
包含在其中以包含在/system
. 它成功收录在/system/priv-apps/
. 参考 - 按照这些步骤,我将 APK 重新签名为系统应用程序并添加
android:sharedUserId="android.uid.system"
到应用程序中。成功完成并使用adb shell ps -Z | grep system_app
. - Selinux 策略拒绝了大部分使用的操作
audit2allow
,并将允许语句添加到system/sepolicy/public/init.te
.
结果:应用程序已安装,但似乎操作系统阻止了它的一些服务/进程或其他东西并且无法正常运行,我也发现了这个 I/system_server: oneway function results will be dropped but finished with status OK and parcel size 4
。
AFAIK,系统应用程序可以访问极高级别的系统。但这不是正在发生的事情。
为什么 Sepolicy 拒绝system_app
请求?
这些步骤有什么问题吗?我应该怎么做才能使应用程序正常工作?
更新。
该应用程序包含预建.so
文件,现在错误是该应用程序无法运行这些文件。
Cannot run program "/system/priv-app/****/lib/arm64/libovpnexec.so": error=2, No such file or directory
解决方案
推荐阅读
- javascript - Javascript:什么算作“用户与网页交互?”
- javascript - 如何在电子上使用预加载脚本?
- flutter - 向用户表明列表中有更多项目
- amazon-web-services - AWS:迁移到 Fargate Spot
- excel - Excel 根据匹配列突出显示行中的差异
- java - Java命令在VSCode终端上工作,但在mac上没有外部终端
- python - 定义的函数在调用时抛出“未定义”的 NameError
- asp.net - 使用 cpanel 发布 ASP.NET 项目时出错
- sql - Athena 中带有 % 符号的列的数据类型
- python - 在 python 中混合两个图像以不丢失强度