创建系统应用程序

Mic*_*cki 32 android root android-manifest

我应该怎么做才能创建一个系统应用程序(获取android:sharedUserId="android.uid.system"在清单文件中使用的权限,而不会从包管理器收到有关认证问题的错误?

我使用带有固件的root电话.

Mic*_*cki 25

好吧,我认为我找到了来自伟大的xda开发人员的解决方案:http://forum.xda-developers.com/showthread.php? t = 1776095这里是完整的描述如何获取对平台密钥签名的应用程序的访问权限.你是用这种方法申请的吗?
PS有趣的是,用户从堆栈而不是调查难题立即说你无法解决它,然后降低新手用户的声誉...

  • 所有APK都必须经过数字签名,否则无法运行. (3认同)

Com*_*are 20

我应该怎么做才能创建一个系统应用程序

有两种类型的系统应用程序:

  • 安装在系统分区上的应用程序,可由具有root权限的用户完成

  • 由签署固件的相同签名密钥签名的应用程序

获取使用android的权限:sharedUserId ="android.uid.system"

这肯定会要求您的应用程序使用签署固件的相同签名密钥进行签名.这对任何人都是如此android:sharedUserId.

但有些人编辑股票应用程序,准备zip文件,用户可以通过恢复更新系统应用程序.

欢迎您提供任何证据证明他们以某种方式参与其中android:sharedUserId="android.uid.system".

  • 有人能告诉我系统应用程序上安装的应用程序与实际系统应用程序之间的区别吗?就访问权限而言?如果我的apk与系统ROM具有相同的签名,那么我可以将其安装为普通应用程序或系统分区吗? (2认同)

Bre*_* K. 8

系统应用程序必须使用平台密钥进行签名。这是由开发人员在他们自己的设备或移动运营商上部署 android 平台来完成的。

如果是这种情况,最简单的方法是将其添加到您的 Android.mk 中:

LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
Run Code Online (Sandbox Code Playgroud)

如果您添加这些行而不将 android:sharedUserId="android.uid.system" 添加到您的清单中,您将成为一个 platform_app。系统应用比平台应用更有特权。使用平台密钥并以系统用户身份运行。

如果您不是平台供应商,则平台供应商需要使用他们的平台密钥对您的应用程序进行签名。包括我公司在内的一些供应商会为第 3 方执行此操作,并证明这样做的正当理由。

如果没有签名,您的应用程序只能在有 root 权限的设备上使用。