我想在AOSP代码中构建并嵌入我的android应用程序。我的目标是将所有系统级权限授予我的应用程序,以便我可以访问系统级权限。
我在我的应用程序的AndroidManifest.xml文件中添加了以下标志-
coreApp="true"
android:sharedUserId="android.uid.system"以下是我的Android.mk-
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := TestApp
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)但是我仍然无法在已安装的应用程序列表中看到我的应用程序!!你知道怎么做吗?
发布于 2014-03-28 23:33:56
您似乎忘记了将应用程序添加到build中。如果您修改Android的核心文件(虽然不推荐),您需要修改build/target/product/core.mk文件。在PRODUCT_PACKAGES中,您需要添加您的应用程序。
然而,在我看来,如果您希望您的应用程序只获得对受系统权限( signature和signatureOrSystem级别)保护的功能的访问,则不需要将android:sharedUserId="android.uid.system"行添加到清单文件中。这一行意味着您的应用程序将作为AID_SYSTEM Linux用户运行,这意味着您的应用程序和系统服务器将共享相同的UID。据我所知,这将允许您绕过所有权限检查,因为系统和ROOT用户都被授予了所有权限。因此,我不建议您添加此行。
发布于 2016-08-05 02:13:15
shareUserId在某些情况下是必需的,而不是全部。例如,如果您需要访问安全设置中的飞行模式设置,在没有shareUserId的情况下,您可以更改这些设置,但当您需要将更改广播到系统时,它将以静默方式失败。在您添加shareUserId之前,广播不会生效。
发布于 2016-12-23 20:11:35
正如Yury所说,您必须告诉构建系统将您的应用程序包含在系统映像中。您可以通过构建/目标/产品/核心.mk来完成,也可以更改位于设备文件夹中的设备,例如device /lge/ device.mk /device.mk并将其添加到PRODUCT_PACKAGES中。
这样,它就会被构建过程拾取并包含在您的ROM中。
https://stackoverflow.com/questions/22711855
复制相似问题