【发布时间】:2020-08-17 15:01:49
【问题描述】:
我们有一个用于我们正在制造的设备的自定义 ROM,我想做的是制作我们自己的自定义设置应用程序来替换已经内置在 android 中的设置应用程序。
我真的找不到任何关于如何创建系统应用程序的文档。您似乎无法在 Android Studio 中创建它,我尝试在 AOSP 网站上查找,但没有找到与创建系统应用程序相关的任何内容。我确实找到的几件事是在这里您可以将android:sharedUserId="android.uid.system" 放入清单中,然后必须使用与 ROM 相同的密钥进行签名,但之后我找不到任何东西。
我要创建的设置应用需要访问 framework.jar 才能使用隐藏的框架 API。
有没有人有任何信息或知道我在哪里可以找到有关如何实际创建系统应用程序的信息?
【问题讨论】:
-
我没有您需要的所有信息,但系统应用程序就像任何其他应用程序一样。唯一的区别是它将使用操作系统证书进行签名,因此您可以使用共享用户 ID。除此之外,您需要将您的 apk 放在特定的目的地,即 /system/app 或 /system/priv-app。一种方法是更改 AOSP 构建的 make 脚本,因此在编译过程中,ROM 会自动将 apk 复制到该路径并对其进行签名。大约 4 年前我这样做了,这是我现在能记得的唯一信息
-
首先。您使用什么:mk、bp 或 graddle 文件?当您尝试构建系统应用程序时,您必须通过系统证书对其进行签名。之后,您将拥有系统应用程序并可以使用 android:sharedUserId="android.uid.system"
-
@AndreySamoilov Gradle 文件
-
@tyczj 所以,在这种情况下,您必须拥有平台证书并创建相应的任务。类似的东西:```signingConfigs { aerndappsigning { keyAlias 'androiddebugkey' keyPassword '123456' storeFile file('debug_platform_key/platform.jks') storePassword 'android' } }
-
@AndreySamoilov OP 可能有一个 AOSP 项目,因为他是 build rom,在这种情况下,android.mk 中的设置可以签署 apk,无需在 gradle/android studio 中签署它