问题1:
在安装apk时,碰到权限问题,好像需要设置签名,错误提示为:
[2010-10-22 14:05:55 - Contacts] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE[2010-10-22 14:05:55 - Contacts] Please check logcat output for more details.
[2010-10-22 14:05:55 - Contacts] Launch canceled!
解决1:
是用adb安装到模拟器上面的吗?版本不一致导致的;把手机上面的apk卸载掉重新运行就可以了。
问题2:
在AndroidManifest.xml中使用了如下的配置:
<uses-permission Android:name="android.permission.INSTALL_PACKAGES" />
就会报错:Permission is only granted to system apps
原因如下:
此类权限仅授予系统级应用,可以修改下Link Error Checking项的安全级别;
In Eclipse: Window -> Preferences -> Android -> Lint Error Checking
在ID列表中,找到ID = ProtectedPermission,设置Serverity低于Error,比如Warning级别就好了。
我打算为我们网站的安卓客户端加上在线升级功能,不然的话,这个客户端的意义将大打折扣。
根据大拿们的经典,我在AndroidManifest.xml中加上以下三句:
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
结果eclipse马上来个红叉叉,说是 permission is only granted to system apps 。
what is it?
疯狂搜索,一堆英文,一堆提问,一堆不知所谓,好混乱。几次看到有人提示说,将project clean一下,就可以鸟。
果然。方法是点eclipse的菜单project->clean...,然后叉叉就不见了。
啊!多么神奇的clean啊,I like it! 原来,这里的clean,就相当于VS.NET 里的rebuild。
不过,只要稍微修改一下AndroidManifest.xml,立刻会惊动警惕的编译器,它马上又打出一个红叉叉。
怎么办?只好再次 clean 咯。
解决:clean一下就好了