正在阅读Android system application DEVICE_POWER permission error和How to sign Android app with system signature?
我仍然无法将我的应用程序作为系统应用程序签名。我不知道/ build / target / product / security在哪里。
我是否从我自己的设备上拔下钥匙以用于签署我的应用程序。
我只是希望我的应用能够致电:
private void screenOff(){
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
long time = SystemClock.uptimeMillis() + 1000;
pm.goToSleep(time);
}
感谢您的回答。
答案 0 :(得分:3)
如果要从项目的源代码构建Android,则只能将应用程序签名为系统应用程序。如果您对只能在手机上使用的黑客感兴趣,请参阅:
答案 1 :(得分:2)
你做不到。
只有设备制造商才能使用系统密钥对应用进行签名 - 只有您可以使用密钥对应用进行签名。并且每个设备(至少每个制造商)具有不同的系统密钥。他们都不会给你那把钥匙。
获得该权限的唯一方法是构建您自己的设备固件(例如CyanogenMod,以便您知道密钥(/build/target/product/security
是这些来源的一部分)。但如果您这样做,您仍然无法分发您的应用,因为只有您(+使用您的固件的其他人)拥有正确的密钥。
答案 2 :(得分:0)
我认为您需要让您的应用拥有DEVICE_POWER的权限。是的,普通的应用程序不能拥有该权限。 但是你可以让你的应用程序成为特权。如果你使它成为特权,在构建中,应用程序将在/ system / priv-apps /
中创建要使您的应用成为特权,请在Android.mk文件中添加以下代码: LOCAL_PRIVILEGED_MODULE:= true
干杯!!!