首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将android应用构建为AOSP应用

将android应用构建为AOSP应用
EN

Stack Overflow用户
提问于 2014-03-28 19:41:15
回答 3查看 3.4K关注 0票数 1

我想在AOSP代码中构建并嵌入我的android应用程序。我的目标是将所有系统级权限授予我的应用程序,以便我可以访问系统级权限。

我在我的应用程序的AndroidManifest.xml文件中添加了以下标志-

代码语言:javascript
复制
coreApp="true"
android:sharedUserId="android.uid.system"

以下是我的Android.mk-

代码语言:javascript
复制
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)

但是我仍然无法在已安装的应用程序列表中看到我的应用程序!!你知道怎么做吗?

EN

回答 3

Stack Overflow用户

发布于 2014-03-28 23:33:56

您似乎忘记了将应用程序添加到build中。如果您修改Android的核心文件(虽然不推荐),您需要修改build/target/product/core.mk文件。在PRODUCT_PACKAGES中,您需要添加您的应用程序。

然而,在我看来,如果您希望您的应用程序只获得对受系统权限( signaturesignatureOrSystem级别)保护的功能的访问,则不需要将android:sharedUserId="android.uid.system"行添加到清单文件中。这一行意味着您的应用程序将作为AID_SYSTEM Linux用户运行,这意味着您的应用程序和系统服务器将共享相同的UID。据我所知,这将允许您绕过所有权限检查,因为系统和ROOT用户都被授予了所有权限。因此,我不建议您添加此行。

票数 0
EN

Stack Overflow用户

发布于 2016-08-05 02:13:15

shareUserId在某些情况下是必需的,而不是全部。例如,如果您需要访问安全设置中的飞行模式设置,在没有shareUserId的情况下,您可以更改这些设置,但当您需要将更改广播到系统时,它将以静默方式失败。在您添加shareUserId之前,广播不会生效。

票数 0
EN

Stack Overflow用户

发布于 2016-12-23 20:11:35

正如Yury所说,您必须告诉构建系统将您的应用程序包含在系统映像中。您可以通过构建/目标/产品/核心.mk来完成,也可以更改位于设备文件夹中的设备,例如device /lge/ device.mk /device.mk并将其添加到PRODUCT_PACKAGES中。

这样,它就会被构建过程拾取并包含在您的ROM中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22711855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档