【发布时间】:2019-11-26 19:46:16
【问题描述】:
我可以访问 Android 平板电脑的平台密钥和证书。我正在尝试构建一个应用程序并通过执行以下操作以系统级权限安装它:
使用 GitHub 上名为 platform_import_keystore 的 bash 脚本创建一个包含 platform.pk8 和 platform.x509.pem 的 Java KeyStore 文件。
-
在 AndroidManifex.xml 中添加以下内容:
<uses-permission android:name="android.permission.READ_LOGS"/>android:sharedUserId="android.uid.system" 使用 Android Studio 中的 Java KeyStore 文件使用 PLATFORM 密钥和证书为 APK 签名。
安装 APK
当应用程序运行时,系统拒绝 READ_LOGS 权限。 为什么我的应用没有以系统级权限运行?
【问题讨论】:
-
“使用 PLATFORM 证书和密钥签署 APK 有什么好处?” -- 应用可以成功持有平台公开的组件
signature级权限。 -
@MarkKeen 所以这可能是因为 AOSP 需要设置一个包含我的应用程序的白名单?
-
是的 - 使用相同的密钥签名是不够的,我想它需要 3 件事,1)
/system/priv-app文件夹中的应用程序 2)使用平台密钥和 3 签名) 相关权限添加到/etc/permissions/privapp-permissions-xxx-.xml文件中。根据我自己的经验,我只是通过构建 AOSP(在构建过程中添加 makefile 以自动化这些步骤)而不是在构建操作系统之后完成此操作。
标签: android android-studio apk android-install-apk