我正在尝试让系统应用程序正常工作。这是我所拥有的:
具有完整 4.4.2 源代码的 OEM OMAP 平台。我已经使用 Ubuntu 14.04 构建了系统并加载到我的平台上。这一切都有效。
现在,有一个来自 OEM 的应用程序可以直接访问硬件(DSP、I2C、UART)等。来自 OEM 的原始 APK 在我的平台上运行。
我使用构建了完全相同的应用程序make
命令(不使用 Eclipse);它构建完成,我可以在平台上安装。但是当我尝试启动该应用程序时,它陷入了永恒的等待状态。
我不确定,但我怀疑我本地构建的应用程序尝试初始化板上的硬件组件,然后在那里被阻止。
我一直在阅读文章,似乎它与应用程序签名和证书有关。我认为总体思路是应用程序需要使用与系统本身相同的证书进行签名。我想,由于我使用相同的命令在同一台计算机上构建了应用程序和系统,因此它们将具有相同的证书。
如果有帮助,清单文件中有以下行:
android:sharedUserId="android.uid.system"
和项目 make 文件Android.mk
有这一行:
LOCAL_CERTIFICATE := platform
谁能告诉我如何使该应用程序运行?我不确定,似乎我必须使用适当的证书重建应用程序,以便它可以访问所有硬件资源。
Thanks.
Check 签名系统apk https://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature.
可选:
您需要使用 keytool-importkeypair 创建一个密钥库文件,您可以找到该文件here https://github.com/getfatday/keytool-importkeypair.
进入:build/target/product/security/
平台源代码树中的目录(与您的 Android 版本和供应商相关的源代码)。
你会找到平台.pk8 and 平台.x509.pem files.
使用以下示例命令创建密钥库文件:
keytool-importkeypair -k ~/.android/debug.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
您可以使用此密钥库文件对您的 apk 进行签名,之后该 apk 将具有系统权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)