繁体   English   中英

无法获得作为系统应用程序安装的应用程序的签名|系统许可

[英]Not able to get signature|system permission on an app installed as a system app

我正在尝试开发一个应用程序,其中必须使用权限“ android.permission.READ_NETWORK_USAGE_HISTORY”,该权限受“系统签名”保护级别保护。

要使用此权限,我已将我的apk复制到android 4.4.2 avd的/ system / app /位置,以使我的应用程序作为系统应用程序工作。

但是,当我运行该应用程序时,我得到了SecurityException,其原因是:java.lang.SecurityException:NetworkStats:用户10052和当前进程都没有android.permission.READ_NETWORK_USAGE_HISTORY。

我已经在清单中正确指定了权限,甚至将我的应用安装为系统应用,应足以使用受上述权限保护的任何api。

现在的问题是,当我的应用程序有资格获得该权限时,为什么会收到安全例外。

权限详细信息: https : //android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml

尝试向清单中添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

您不能仅仅通过将应用程序复制到system / app文件夹就说它已经成为系统应用程序。将应用程序制作为系统应用程序的主要前提是该应用程序需要使用相同的签名键进行签名与设备上的其他系统应用程序签署时使用的密钥。对于硬件设备,这些是制造商在对设备上的OS进行签名时使用的密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM