0

Get the REBOOT permission in Android app的链接确实提供了一些信息。我可以使用 debug.keystore 对应用程序进行签名,但我必须使用系统使用的相同密钥进行签名,以便允许重新启动权限。在哪里可以找到平台/证书密钥对?

4

3 回答 3

3

您将无法使用系统签名进行签名。这是一个非常基本的安全措施。

正如 CommonsWare 在您链接的答案中所说,您将需要一个自定义固件。一个更简单的选择是仅在有根手机中提供该功能(请参阅此处了解一种简单的方法:可以在有根安卓手机上的设备管理应用程序以编程方式强制关机或重启吗?)。

于 2011-05-31T15:21:38.783 回答
2

如果您正在使用模拟器,请检查此处:创建系统 apk 的要点

如果您正在使用真实设备:

  1. 您需要的是供应商签名,用于对设备内所有修改后的 Android 系统进行签名。
  2. 除非他们发布,否则您将不会拥有任何生产者的任何系统签名。
  3. 因此,除非您在设备中拥有 rom的vendor/security文件夹,否则您将无法获得签名或平台文件。

准备好安装应用程序后,您应该使用生根方法。

  • 根你的手机
  • 在你的电脑上打开一个终端,进入platform-tools文件夹并启动 adb 可执行文件
  • adb push /path/to/your/apk/your_apk.apk /sdcard/Download
  • 进入 adb shell
  • su
  • mount -o remount,rw /system
  • cp /sdcard/Download/your_apk.apk /system/app
  • chmod 666 /system/app/your_apk.apk
  • 重启你的手机

重新启动后,您将拥有一个使用系统权限的应用程序。

编辑: 不确定它是否适用于 5.0 +,曾经适用于 5.0 及更低版本。

于 2015-08-24T05:20:05.967 回答
-2

构建应使用平台密钥签名的 APK

  LOCAL_PATH := $(call my-dir)
  include $(CLEAR_VARS)

  # Build all java files in the java subdirectory
  LOCAL_SRC_FILES := $(call all-subdir-java-files)

  # Name of the APK to build
  LOCAL_PACKAGE_NAME := LocalPackage

  LOCAL_CERTIFICATE := platform

  # Tell it to build an APK
  include $(BUILD_PACKAGE)
于 2011-09-07T07:52:24.653 回答