web-dev-qa-db-fra.com

Comment compiler Android Application avec autorisations système

J'ai besoin de compiler une application avec des autorisations système afin d'utiliser l'application cible com.Android.settings. Pour l'instant, pendant que j'essaie d'exécuter mon apk, je reçois le message d'erreur

Échec du test: refus d'autorisation: démarrage de l'instrumentation ComponentInfo {com.jayway.test/Android.test.InstrumentationTestRunner} à partir de pid = 354, uid = 354 non autorisé car le package com.jayway.test n'a pas de signature correspondant à la com cible. Android.settings

Comment puis-je compiler mon application avec les autorisations système?

24
Michalis

Après avoir fait quelques recherches, j'ai trouvé comment signer mon application avec la clé système (plateforme). Les signatures système se trouvent dans le répertoire <root-of-Android-source-tree>/build/target/product/security. Vous pouvez les utiliser pour signer votre application avec des privilèges système.

30
Michalis
  1. Ajouter au manifeste Android: sharedUserId = "Android.uid.system"

  2. Téléchargez les fichiers de signatures système: platform.x509.pem platform.pk8

lien: https://Android.googlesource.com/platform/build/+/Android-8.0.0_r17/target/product/security/

  1. Signez l'application via le terminal (Java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk) (vous devez d'abord placer tous les fichiers dans un dossier), ou créer un certificat avec keytool-importkeypair pour créer google_certificate.keystore puis

lien pour le téléchargement et l'explication de keytool-importkeypair:

https://github.com/getfatday/keytool-importkeypair

  1. Après cela, installez votre application système signée sur votre appareil. Bonne chance!!!
2
Marko Katic