繁体   English   中英

Android系统应用信息

[英]Android System App Info

我想了解一些关于系统应用程序的一般信息。 我正在与一家制造商合作,他愿意向我提供使我的应用成为系统应用所需的信息。 但是,我不确切知道这些信息应该是什么以及如何使用我的应用程序进行更改以使其成为具有给定信息的系统应用程序。 我相信我需要像我这样的东西

android:sharedUserId="android.uid.system"

然后我需要用制造商的密钥签署我的应用程序? 我不确定是否有人可以向我解释这个过程会取悦什么?

我的应用程序需要成为系统应用程序的原因是用户无法卸载它,但我的应用程序仍需要更新。 是否可以在系统应用程序时更新我的​​应用程序? 如果从谷歌播放正常,我会更新。

感谢您的帮助,我根本找不到关于这个主题的非常多的信息,并希望得到帮助。

这里的链接会给你一些信息。

系统应用程序不是由操作系统的平台签名签名的应用程序。 这是许多人认为的常见错误,我们将在稍后讨论。 系统应用程序仅仅是位于Android设备的/ system / app文件夹下的应用程序。 如果我们可以访问操作系统的ROM(system.img),则只能在该文件夹中安装应用程序。 提取ROM后,应用程序将放在/ app文件夹下。 加载自定义ROM的设备将添加新的系统应用程序。 系统应用程序的好处是无法从设备中删除应用程序(用户无法卸载)。 这只是因为/ system / app是一个只读文件夹。

http://ricston.com/blog/explaining-behavior-android-application-system-apps-nonsystem-apps/

至于通过游戏商店更新你的应用程序,我假设你应该能够毫无问题地做到这一点,如果应用程序在游戏商店,并且你每次都使用相同的签名。 它不一定是制造商的证书,但最好使用该证书来签署您的应用程序。

因此,您需要确保的唯一事情是,在构建ROM时,制造商将您的apk放入系统文件夹,它应该可以工作。

  1. 使用mkkey.sh http://www.kandroid.org/online-pdk/guide/release_keys.html脚本创建新证书,包括x509证书。 你不需要这些步骤,因为制造商给你钥匙。
  2. 在你的应用程序的AndroidManifest.xml中:在元素下添加属性android:sharedUserId =“android.uid.system”
  3. 使用eclipse导出未签名的Android应用程序版本。 Project >> Android Tools >>导出未签名的应用程序包
  4. 使用/out/host//framework/signapk.jar使用之前生成的/ build / target / product / security /中的platform.x509.pem和platform.pk8对您的应用进行签名

java -jar signapk.jar platform.x509.pem platform.pk8 your_app_unsigned.apk your_app_signed.apk

Kumar Bibek已经回答了你的一些其他问题。 这些是我必须做同样的步骤。 这是在Android ICS中完成的。 这些步骤可能已经改变,但仍值得一试。

从Android O(Oreo)开始,您需要使用开发键对系统应用进行签名,与以往版本不同,您可以将它们复制到过去不同的系统文件夹中。

暂无
暂无

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

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