apk获得Android系统权限的方法(轉載)

轉載自http://www.cnblogs.com/chenbin7/archive/2013/01/10/2854768.html

 

想写一个重启系统的apk(reboot.apk),因为没有权限,所以编译出来的apk无法达到效果。

网上查到的方法讲的不太清楚,至少我是这么觉得,因为我照着做,试了好多次才成功。下面是我尝试过并成功的两个方法,总结如下。

 

方法1:通过将项目作为一个模块,放到Android系统源码中进行编译~~~

步骤如下:

1. 在应用程序的AndroidManifest.xml中的manifest节点中加入"android:sharedUserId="android.uid.system"这个属性。

复制代码
复制代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  ……
android:sharedUserId="android.uid.system" >  <!--添加该属性-->
    
<uses-permission android:name="android.permission.SHUTDOWN"/> <!--添加该权限-->
……
</manifest>
复制代码
复制代码
ps:android:sharedUserId="android.uid.system" 将app提升到系统权限,需要到源码中编译;还有关机权限: android.permission.SHUTDOWN
 

2.编译apk

(1)将应用程序的src文件、res文件和AndroidManifest.xml文件拷贝到Android系统源码package/apps目录下

(2)编写一个Android.mk文件(最简单的方法就是拷贝其他模块中的Android.mk文件),修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行

Android.mk:

复制代码
复制代码
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := 你的项目名
LOCAL_CERTIFICATE := platform    #添加这一句

include $(BUILD_PACKAGE) 
复制代码
复制代码

 

(3)mm 编译,生成apk

总结:其实就是把应用程序当作系统应用进行编译~~这样之后就会有系统权限了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值