设置自己的程序为系统程序

本文分享了在Android环境中访问邮箱数据库遇到权限限制问题的解决方法。通过将应用放入源代码目录并添加特定属性,成功获得了与system镜像相同的权限级别,解决了应用崩溃问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论坛摘抄的部分 来自[url]http://topic.youkuaiyun.com/u/20100819/14/116a4c2d-c00d-45e9-8e06-b63ed16d0f02.html[/url]

[quote]
此问题今天已找到解决办法,其实前段时间应该也是找到了,但因为资源的问题引起应用崩溃未找到原因一直以为是访问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报错了所以也就不介绍了,等解决好了再继续介绍。
困扰了好久的问题终于解决了希望能对大家都有帮助。
[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值