问题描述
|
链接在Android应用程序中获得REBOOT许可确实提供了一些信息。我能够使用debug.keystore对应用程序进行签名,但是我必须使用系统使用的相同密钥进行签名,以便允许重新启动权限。平台/证书密钥对?
解决方法
您将无法使用系统签名进行签名。这是非常基本的安全措施。
正如CommonsWare在您链接的答案中所说,您将需要一个自定义固件。一个更简单的选项是仅在有根权限的手机中提供该功能(查看此处的简单方法:在有根权限的Android手机上的设备管理应用程序可以通过编程方式强制关机或重新启动吗?)。
, 检查此处是否正在使用模拟器:创建系统apk的要点
如果您在真实设备上工作:
您需要的是用于对所有
修改了设备内部的Android系统。
您将没有任何生产者的任何系统签名,除非他们
发布它。
因此,除非您没有签名或平台文件
在设备内部安装rom的供应商/安全文件夹。
准备安装应用程序后,应该使用生根方法。
扎根手机
打开PC上的终端,转到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及更低版本。
, 构建应使用平台密钥签名的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)