为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

解决安卓手机关机后很多装在SD卡的程序图标消失

2013-01-31 2页 doc 18KB 42阅读

用户头像

is_480235

暂无简介

举报
解决安卓手机关机后很多装在SD卡的程序图标消失说实话,这不能不算是Android的一个弊端,也怪Android最初考虑apk安装的时候考虑的不够充分完全。解决方法的前提是机子要有root权限,并且能用命令行(或者你在电脑上用adb工具也可以),我们要做的就是重启桌面。   进入命令行,使用su获得root权限,然后执行ps命令,可以看到如下: root      4451  1     101520 27376 ffffffff 00000000 S zygote system    4458  4451  226680 37284 ffffffff 00000000...
解决安卓手机关机后很多装在SD卡的程序图标消失
说实话,这不能不算是Android的一个弊端,也怪Android最初考虑apk安装的时候考虑的不够充分完全。解决方法的前提是机子要有root权限,并且能用命令行(或者你在电脑上用adb工具也可以),我们要做的就是重启桌面。   进入命令行,使用su获得root权限,然后执行ps命令,可以看到如下: root      4451  1     101520 27376 ffffffff 00000000 S zygote system    4458  4451  226680 37284 ffffffff 00000000 S system_server app_48    4535  4451  137596 24608 ffffffff 00000000 S com.lge.android.cime radio     4540  4451  147660 24908 ffffffff 00000000 S com.android.phone app_54    4543  4451  167056 31740 ffffffff 00000000 S android.process.lghome system    4545  4451  133820 20352 ffffffff 00000000 S com.android.settings   但是桌面程序是哪个呢?这就真的依赖机子本身了,譬如我这个测试机是LG P503,对应的桌面程序是android.process.lghome,所以通过上面的ps命令结果可以看到它的进程号是4543(红色标出,当前行的第一个数字,记住,是第一个数字4543而不是第二个数字4451),于是执行: #kill –9 4543   此时不会重启机子,只用重新再去桌面就OK了。另外记住:上面如果kill过system_server的话,要重新执行ps命令获取桌面的进程号,因为重启后这些进程号都变了。   如果你不是LG P503机器,你也可以查查看你的桌面程序是什么,如果是原生的系统,会有launcher的关键字,找找看,再或者找找其它看起来像的,就找进程号大于 system_server的,如本例中,system_server的进程号是4458(红色标出),那么找所有第一个数字大于4458的kill看看,不用害怕,最多也就是重启一下手机,不会破坏手机的。成功后,记住后面的名字(如本例中的android.process.lghome),以后用得着的,说不定就这次就用得着,因为你在寻找过程中,可能kill掉了不该kill的进程,那么你再次重启后,直接kill这个桌面程序就OK。   如果你实在难以找到桌面程序的进程(其实按照上面的方法每一个都试试,一定能找到的,我在考虑是不是写个简单的apk供大家简单使用呢?不过想必这个东西用过linux的都会,所以我就不卖弄了)。也可以尝试找出system_server的进程号(如果你能确定你的桌面程序,直接跳过这一步往下看),第一个数字4458就是,然后再执行kill命令: #kill –9 4458   然后就可以看到你的机子重启了,等启动完之后,如果图标都回来了,那就万事OK了。如果没有完全回来,那就只能用上面的方法了。 :   方法其实很简单:获得桌面程序的进程号,杀掉它(它会自动重启),就得到了完整的图标。 原理分析:   android为了把应用程序装到sdcard上面,对每个安装在上面的应用都挂载了对应的目录。但是我们在手机启动之后,这些都还没完全挂载上,所以桌面根本访问不到它们,既然访问不到,自然图标就没有了(说到这里,如果android不仅把程序列表存起来,也把图标对应存起来估计就少了一些麻烦了,虽然存在程序删掉了但是图标没删的问,但有什么问题呢?)。所以上面的动作就是为了让桌面程序重启一次。重启system_server的原因是因为桌面程序在每个机子上都不同,难以找到,而system_server都一样,如果能找到桌面程序的进程直接kill掉那是最好的了。因为此时 sdcard已经挂载上了,那些应用程序也相继在挂载,但如果应用程序多,就不一定挂载完了,毕竟有一个过程的。   至于网上说的是因为sd卡读写速度慢造成图标读不出来,那是浮云~~sd卡读写速度虽然慢,但不是造成这个问题的关键。祝各位能顺利解决问题。   写这篇文章纯粹是因为博客太久没更新了,所以写写。 补充:   如果你看到这个地方了,你估计要吐血了。。。因为经过继续摸索,发现一个更简单的方法:那就是利用任务管理器,将所有的应用程序关掉,那么这里面的应用程序就必定包括了桌面程序,从而达到了上面要关掉桌面程序的目的。这样你就不必自己去寻找桌面程序的进程号再去关掉它了。这里我用的是安卓优化大师,不过我想任何一个任务管理器或者程序管理器都能做到这一点吧,甚至Android自带的应用程序管理如果你愿意一个个试着关掉的话,也是可以办到的。   再来一个更吐血的,那就是你什么都不用安装,直接在手机的设置-应用程序-正在运行的程序里查找到桌面程序,如P503的是LG主页,点开,然后强制停止就好了,啥也不用了。。。OH~~~~~~~~
/
本文档为【解决安卓手机关机后很多装在SD卡的程序图标消失】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索