rispondere alle vostre tre domande:
1 - Dove posso trovare questi chiave di firma?
Da Android's own documentation nella sezione Keys Stampa
L'albero Android include test-chiavi sotto build/target/prodotto/sicurezza
Ma la parte successiva è dove si dovrebbe davvero prestare attenzione
Poiché le chiavi di prova sono pubblicamente note, chiunque può firmare i propri file .apk con le stesse chiavi, che possono consentire loro di sostituire o applicazioni di sistema di hijack incorporate nell'immagine del sistema operativo.Per questo motivo è importante specificare per l'immagine del sistema operativo Android rilasciata pubblicamente o implementata con un set speciale di chiavi di rilascio a cui è consentito l'accesso solo a a.
Quindi, in pratica, a meno che non si riesca in qualche modo ad accedere alle chiavi pvt del produttore, potrebbe essere difficile ottenerlo. Questo è il motivo per cui un utente in un commento precedente stava dicendo che questo è solitamente ottenuto producendo la propria build.
2 - Vorrà un accesso root Se mai riuscito a gestire con successo per firmarlo?
Non si otterrà "accesso root" eseguendolo, ma si avrà accesso a un livello estremamente alto di accesso. In particolare, ciò che ti raggiunge è che ti verranno concesse le autorizzazioni con dichiarato android:protectionLevel="signature"
che è, probabilmente, il più esclusivo.
Un'altra conseguenza pericolosa (o divertente, a seconda di come la si guarda) è che ora è possibile eseguire l'app sotto il processo utente di sistema android:sharedUserId="android.uid.system"
- con le regole di sicurezza "process sandboxed" di Android questo normalmente fallirebbe.
3 - Qual è la differenza tra Root vs Firmato con chiave?
Con un app firmato con la chiave piattaforma dalla vostra generazione, è possibile ottenere i permessi di cui sopra, o eseguire l'applicazione con UID 1000 (uid sistema), che in Android è molto più potente rispetto alle UID di altre applicazioni a causa delle autorizzazioni che può richiedere, si tratta comunque di un comportamento specifico di Android. In un dispositivo rooted, è possibile utilizzare UID 0 (root) che ha l'accesso più ampio nei sistemi basati su linux, è possibile ignorare la maggior parte dei sandboxing/checks/fences di sicurezza sul sistema operativo.
Spero che questo aiuti;)
È possibile registrarsi solo l'applicazione come un'applicazione di sistema se si sta costruendo per android da fonte per il vostro progetto. –
@ VíctorSantoja Dubito che sia l'unico modo possibile, ho cercato questi problemi tutta la settimana ma quello che ho trovato è stato intrigante. Penso che possiamo firmare attraverso le chiavi del costruttore. [http://stackoverflow.com/a/15655078/3974048](http://stackoverflow.com/a/15655078/3974048) – david
So che se si firma l'apk con le chiavi del produttore, è possibile ma non si può t pubblicare questo apk in Google Play –