设置 系统软件
引用:http://wiseideal.iteye.com/blog/1194509
论坛摘抄的部分 来自http://topic.csdn.net/u/20100819/14/116a4c2d-c00d-45e9-8e06-b63ed16d0f02.html
引用
此问题今天已找到解决办法,其实前段时间应该也是找到了,但因为资源的问题引起应用崩溃未找到原因一直以为是访问email数据库造成的原因,现在资源问题解决了利用以前的办法确实可以访问到了。
导致错误的原因如下:
因为Android本身自带的email应用的保护级别很高,是android:protectionLevel="signatureOrSystem",从android sdk自带文档了解到此种权限保护级别需要system本身镜像应用或者是同system镜像具有相同的签名应用才可以访问,因此一般的第三方应用即使添加了permission也还是会报错的。
解决方法:(生成system.img)
1 将自己的应用方到android源代码的packages/apps/目录下,添加Android.mk文件
2 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
3 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
4 使用mm命令来编译,生成的apk就有同system一样的权限了。
5 在android根目录下用make snod重新生成system.img
6 启动emulator运行下应用看看是否好了。
由于我这里的email数据库没有任何信息,我只好打出来columns来看,和我期望读取的一样。
网上还有另外一种方法,但我用signapk报错了所以也就不介绍了,等解决好了再继续介绍。
困扰了好久的问题终于解决了希望能对大家都有帮助。