android程序获取系统权限,通过将应用程序放入/ system / app获取Android系统权限?...

作者探索在AOSP中使用新API时遇到BLUETOOTH_PRIVILEGED权限问题,尝试了在根设备/system/app安装、自定义ROM签名等方法。寻求在stock ROM上获取系统权限的途径及错误分析。

尝试使用AOSP的一些较新的Android API,我发现一些需要android.permission.BLUETOOTH_PRIVILEGED权限.根据

docs,许可“不适用于第三方应用程序”.

我在其他地方读过,您可以通过在/ system / app目录中安装您的应用程序来获取root设备上的系统级权限.我在我的root用户Nexus 5上尝试了这个,但是我的应用程序仍然无法获得所需的权限. (参见下面的代码和LogCat输出.)

An alternative I have heard是构建您自己的自定义Android ROM,然后使用相同的密钥对应用程序进行签名.我可以做到这一点,但如果可能的话,我更倾向于能够使用股票图像.

那是哪个呢?是否可以在带有库存图像的root电话上获得系统级权限?如果是这样,我做错了吗?

活动:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

if ((this.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) != 0) {

Log.d(TAG, "This is a system application");

}

else {

Log.d(TAG, "This is not a system application");

}

if (getApplicationContext().checkCallingOrSelfPermission("android.permission.BLUETOOTH_PRIVILEGED") == PackageManager.PERMISSION_GRANTED) {

Log.d(TAG, "I have android.permission.BLUETOOTH_PRIVILEGED");

}

else {

Log.d(TAG, "I do not have android.permission.BLUETOOTH_PRIVILEGED");

}

...

}

LogCat输出:

W/PackageManager( 788): Not granting permission android.permission.BLUETOOTH_PRIVILEGED to package com.radiusnetworks.testapp (protectionLevel=18 flags=0x8be47)

I/ActivityManager( 788): Start proc com.radiusnetworks.testapp for activity com.radiusnetworks.testapp/.MainActivity: pid=3124 uid=10075 gids={50075, 3002, 3001}

D/MainActivity( 3124): This is a system application

D/MainActivity( 3124): I do not have android.permission.BLUETOOTH_PRIVILEGED

表现:

package="com.radiusnetworks.testapp"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="19"

android:targetSdkVersion="19" />

android:name="android.permission.BLUETOOTH_PRIVILEGED"/>

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name="com.radiusnetworks.testapp.MainActivity"

android:label="@string/app_name" >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值