android_secure写权限,android.permission.WRITE_SECURE_SETTINGS权限报错

在做Android的GPS这一块时,根据原生代码写的Widget,运行时总是会报错说需要android.permission.WRITE_SECURE_SETTINGS权限,于是便在Manifest.xml中添加该权限,但是保存时会报错提示该权限仅用于系统的app

6591daa5a5f613552a4c429619b2cb3e.png

查看了很多资料都说需要将自写的apk文件push到system app目录下,可是项目已经报错根本就不能运行啊!!!也不知道这是什么原理,后来在群里问到需要clean一下,clean之后果真就没报错了,所以运行能生成apk,直接在手机上运行,还是报错,看来还是得要push到系统下去啊!如何push?:

以下来自http://longshuai2007.blog.163.com/blog/static/1420944142013310113737233/

在 Android 中,如果要使用系统限制的权限(比如 android.permission.WRITE_SECURE_SETTINGS),我们需要把程序安装到 /system/app/ 下。

一般手机/system目录是mount成只读的,所以我们需要重新mount成读写的

下面以 WidgetSet02.apk 为例,演示这个操作。需要准备一台已经获得 Root 权限的手机。

1、通过 USB 连接手机和电脑。

2、使用 adb 控制手机。

$ adb push WidgetSet02.apk /sdcard/  // 上传要安装的文件,为安装做准备。

$ adb shell $ su // 切换到 root 用户。如果没有获得 Root 权限,这一步不会成功。

# mount //显示当前mount情况

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system // 让分区可写。

# cat /sdcard/WidgetSet02.apk > /system/app/WidgetSet02.apk // 这一步可以用 cp 实现,但一般设备中没有包含该命令。如果使用 mv 会出现错误:failed on '/sdcard/NetWork.apk' - Cross-device link。

# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system // 还原分区属性,只读。

# exit $ exit

重启,可以看到 WidgetSet02已经安装好。

其实还有一种简单的方法(Linux系统):

先一直cd,cd到你的apk文件所在的目录,然后直接将其push到系统app目录下:

$ adb remount

$ adb push WidgetSet02.apk /system/app   (这样就可以直接使用该widget了)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值