我需要编译具有系统权限的应用程序才能使用目标应用程序com.android.settings。现在,当我尝试运行我的apk时,我收到错误消息
测试运行失败:权限拒绝: 开始仪器 ComponentInfo {com.jayway.test / android.test.InstrumentationTestRunner} 从pid = 354,uid = 354不允许 因为包com.jayway.test的确如此 没有签名匹配 目标com.android.settings
如何使用系统权限编译我的应用程序?
答案 0 :(得分:30)
经过一些搜索后,我发现了如何用系统(平台)密钥签署我的应用程序。
系统签名位于目录<root-of-android-source-tree>/build/target/product/security
中。您可以使用它们以系统权限对您的应用程序进行签名。
答案 1 :(得分:1)
添加到清单android:sharedUserId =“android.uid.system”
下载系统签名文件: platform.x509.pem platform.pk8
链接: https://android.googlesource.com/platform/build/+/android-8.0.0_r17/target/product/security/
keytool-importkeypair下载和解释的链接:
https://github.com/getfatday/keytool-importkeypair
答案 2 :(得分:-3)
对我而言,anser只是删除了debug.keystore文件。 AVD的默认存储位置位于OS X和Linux上的〜/ .android /,Windows XP上的C:\ Documents and Settings \ .android \以及Windows Vista上的C:\ Users \ .android \中。
在Eclipse中,我“清理”了项目,从模拟器中卸载了App和TestApp,并且 - 所有内容都恢复正常。