写 System 权限的 APP:在 APP 的 AndroidMenifext.xml 文件中添加 android:sharedUserId="android.uid.system",当然这样编译之后放到手机里边执行是会发生错误的,因为有 system 权限的 APP 必须有相应平台对应的 signing key。
有以下两种办法解决这个问题:
1. 在编译整个平台的时候把自己做的 APP 添加进去一起编译
例如:frameworks/base/packages/ 目录下,把自己要的 APP 放进去
Android.mk 可以写成如下形式
- LOCAL_PATH:=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS:=optionalLOCAL_SRC_FILES:=$(call all-subdir-java-files)LOCAL_PACKAGE_NAME:=SystempertestLOCAL_CERTIFICATE:=platforminclude $(BUILD_PACKAGE)
然后在 build/target/product/core.mk 中添加自己的 APP 名字
- PRODUCT_PACKAGES:=\ApplicationProvider\Browser\...\自己的APP名字
2. 在编译完 APP 之后用 framework 的 signing key 来 sign
APK 文件的 sign 是用 java 工具,需要的文件如下
- out/host/linux-x86/platform/signapk.jar build/target/product/security/platform.pk8 build/target/product/security/platform.x509.pem
把这些文件和 APK 放到一处输入如下命令之后就可以得到用 platform key 来 sign 好的 APK 文件
java -jar signapk.jar platform.pk8 platform.x509.pem unsigned.apk signed.apk
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: