android - 如何在系统用户上运行系统Android App

标签 android embedded-linux android-source

我正在开发 Android 系统应用程序,这意味着我使用平台 key 对其进行签名并将其推送到“/system/priv-app”,但是当我使用“adb shell ps"我发现用户是 "u0_a40" 而不是 "system"

谁能向我解释发生了什么,我该怎么做才能与系统用户一起运行该应用程序?

最佳答案

AndroidManifest.xml 需要指定您的应用应该以system 用户身份运行:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.mysystemapp"
          android:sharedUserId="android.uid.system"
          coreApp="true">

为了完整起见,如果您想通过 Android.mk 文件将系统应用编译为 AOSP 构建过程的一部分,则需要将其放入 Android.mk:

LOCAL_PRIVILEGED_MODULE := true
LOCAL_CERTIFICATE := platform

这确保应用程序最终位于 /system/priv-app 中并由平台 key 签名。

关于android - 如何在系统用户上运行系统Android App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59389865/

相关文章:

java - 无法在三星设备上的 Android Studio 3.4.1 中运行项目

java - 从 Android 设备到本地服务器的 HTTP 请求

c++ - 为 sh4 架构构建 boost 库

android - 如果持有它的应用程序或服务被杀死,Android 操作系统是否会释放唤醒锁?

android - vysor 如何在非 root 设备上创建触摸事件?

Android 源通用产品/设备类型差异

android - 在 Kotlin 中使用 TypeAdapter 实现 TypeAdapterFactory

android - JSONParser 错误,找不到类。安卓

linux - 新的嵌入式项目;哪个 ARM CPU 对 Linux 的支持最好?

linux - 哪个网络服务器适合这种设计?