2010-07-15 53 views
1

我想从/system中卸载一些无用的应用程序。 我有超级访问权限,清单中的权限DELETE_PACKAGE。 但是当我运行在Android中隐藏的卸载软件包

Runtime.exec("pm uninstall package")

我得到

ERROR/AndroidRuntime(10981): java.lang.SecurityException: Neither user 10094 nor current process has android.permission.DELETE_PACKAGES. 

有谁知道如何解决这个问题?

+1

向我们展示你的AndroidManifest.xml请... – Cristian 2010-07-15 03:18:42

回答

3

如果您拥有root访问权限,则无关紧要。如果没有将它重新挂载为读/写,您将无法卸载/系统中的任何内容。 /系统是只读的。

你将不得不像这样运行的东西:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system 

然后做你的pm uninstall package,最后把挂载点回只读。

mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system 

chmod不会改变/ system中的所有内容都是只读的。这意味着NOTHING没有权限修改或删除文件。你必须重新安装它才能删除它。仅供参考,您可以编辑您的原始问题以添加清单,但我不需要它,我知道这是您的问题。如果/ system是只读的,你甚至不能做rm /system/somefile.ext。你会得到一个/系统是只读的错误。同样的事情可能在pm uninstall运行时发生,它只是假定它有一个权限问题,就是这样。

+0

这是我的清单 ... <使用许可权的android:NAME = “android.permission.DELETE_PACKAGES”/> <应用软件Android:图标=“@绘制/ icon“android:label =”@ string/app_name“> <类别机器人:名称= “android.intent.category.LAUNCHER”/> <使用说明 - SDK机器人:的minSdkVersion =“7” /> – Fr4gg0r 2010-07-15 03:47:21

+2

http://pastebin.org/397207在这里人类可读;) 我尝试重新装入.. – Fr4gg0r 2010-07-15 03:48:30

+0

我想重新挂载解决不了安全异常.. 我尝试chmod 777 /系统/应用程序/ the_app应该有重新安装或? – Fr4gg0r 2010-07-15 03:56:58

0

正如我刚才读到的,星系s上的/系统是rw的库存。 我同意你/系统必须安装之前,但 因为我正在测试一个星系s这不能解决上面发布的 错误。 (挂载甚至不是银河系上的有效命令)。

+0

我可以向你保证,/系统不是rw,在星系或任何设备上。用户可以执行rm -f -r/system并擦除整个设备。 /系统正在rw不会发生。它可能是rw @初始引导,但init脚本会改变它。你可以从终端进行“挂载”,它将输出挂载点,如果它们是ro/rw。 – 2010-07-19 11:25:09