我正在实施一个演示,以便悄悄地从设备上卸载应用程序。如何将系统权限授予我的Android应用程序?
在adb shell中,我可以使用pm卸载packagename来完成任务,但是当我编写代码时,我得到了一些拒绝错误的权限。
我一直在Google上搜索一下,发现要获得DELETE_PACKAGES权限,我必须使用与系统相同的证书签署我的应用程序。
那么,任何人都可以给我一些关于如何做到这一点的提示?或者,无论如何,我可以做我的应用程序作为系统服务运行吗?
我正在实施一个演示,以便悄悄地从设备上卸载应用程序。如何将系统权限授予我的Android应用程序?
在adb shell中,我可以使用pm卸载packagename来完成任务,但是当我编写代码时,我得到了一些拒绝错误的权限。
我一直在Google上搜索一下,发现要获得DELETE_PACKAGES权限,我必须使用与系统相同的证书签署我的应用程序。
那么,任何人都可以给我一些关于如何做到这一点的提示?或者,无论如何,我可以做我的应用程序作为系统服务运行吗?
远远胜于静音卸载是某种程度上砖砌应用程序。有几种方法可以完成,但基本上跟踪他们使用它的第一天,并使程序无法工作。或者,它可以设置为工作到某一天,之后它将不再工作。 This question回答如何做到这一点。
如果您的应用程序未位于“/ system/app”,则“DELETE_PACKAGES”权限将不起作用。 编译你的应用程序的源代码或尝试“root”;)
喜三叶草,我决定编译我的应用程序的源代码,我得到这个错误: java.security.cert.CertificateParsingException:signed字段无效,这里有什么问题? – 2012-03-16 03:22:15
我在我的Android.mk文件LOCAL_CERTIFICATE:= platform中添加了这一行:并使用mmm packages/app/test /来构建这个应用程序。 – 2012-03-16 03:25:09
你的应用程序使用证书操作吗?你知道我从来没有见过这种异常,或者改变平台共享并尝试“制作”源代码〜 – Clover 2012-03-19 01:20:29
你不能这样做,除非你正在构建自己的固件(ROM)。如果你是,只需拿钥匙签署ROM并签署你的apk。如果你有一个根深蒂固的手机,你也可以复制apk的/system/app
获得权限。
谢谢,但我没有构建自己的固件。我可以用源代码构建我的应用吗? – 2012-03-16 03:26:47
您可以,但如果设备上的ROM没有使用相同的密钥签名,则不起作用。如果您正在使用股票固件(来自运营商等),唯一的方法是将电话根音并复制到'/ system/app'中。或者你可以问他们(很好!)为你签字:) – 2012-03-16 03:36:28
好吧,将它复制到/ system/app听起来像是一个不错的选择,谢谢! – 2012-03-16 03:37:31
好吧,“老板”告诉我做这个研究,所以,实际上,我在这里没有其他选择... – 2012-03-16 03:27:28