Vorrei sapere cosa sono le applicazioni di terze parti in Android. Mentre facevo riferimento allo sviluppo Android , si dice che il livello dellapplicazione consiste di:
- App native
- App di terze parti
- App per sviluppatori
So che le applicazioni di terze parti sono quelle che non sono sviluppate dalla prima parte (fornitore del sistema) come menzionato in applicazioni di terze parti . Ma penso che quando si tratta di app di terze parti per Android e app per sviluppatori siano uguali, non è vero? Qualcuno potrebbe aiutarmi .
Commenti
- Onestamente non sono riuscito ' a capire la separazione tra app native, di terze parti app e applicazioni (sono tutte applicazioni nel mio dizionario). Come è stato citato dal libro (a cui non potremmo ' accedere a meno che non lo compriamo), spiega anche la differenza tra quelli, o lo menziona solo? Se è così, potresti anche citarla e aggiungerla alla domanda?
- @AndrewT.: Oh scusa, in realtà erano Applicazioni per sviluppatori non Applicazioni come ho modificato il post. Potresti dire se le app di terze parti differiscono dalle app per sviluppatori. Come la risposta dichiarata da Izzy, entrambe dovrebbero essere uguali perché entrambe non sono né sviluppate dal OS né il produttore .
- Immagino in questo contesto, " app per sviluppatori " sta per app non installate da nessun " mercato ", ma da quelle scritte da te e installate di prova tramite i framework di sviluppo corrispondenti. Nel contesto delle " firme " (vedi la mia risposta di seguito): AFAIK queste app sono firmate con " chiavi di sviluppo ", quindi hanno di nuovo una sorta di " firma speciale ". Tuttavia, devo indagare più a fondo per capire la differenza esatta dal punto di vista di un utente '.
Risposta
Versione breve
Ogni app tranne " OS e app del produttore " significa " app di terze parti ".
TL; DR
Le app di terze parti sono quelle fornite da una, hrm, terza parte. Sebbene i seguenti termini siano inesistenti, puoi visualizzarli come segue: la prima parte è quella che fornisce il sistema operativo (AOSP / Google), la seconda il produttore (che aggiunge le proprie app).
Fondamentalmente, questo può essere letto come: Tutto ciò che non era preinstallato. Questo è ciò che normalmente viene utilizzato il termine " terze parti " per 1 .
Background tecnico
Trovi un background tecnico nel sistema di autorizzazione di Android. Se esplori le pagine correlate su Android Developers o vedi le mie autorizzazioni per le app spiegate , per alcuni autorizzazioni incontrerai la frase " non utilizzabile da app di terze parti " (o simili). In che modo il sistema decide cosa rende " app di terze parti "? Controlla la sua firma e la confronta con le firme del sistema operativo e dei produttori. Se la firma dellapp non corrisponde a nessuna delle due, “sa " app di terze parti ".
" App per sviluppatori "
Nella tua domanda, lobiettivo principale era decidere tra " terze parti " e app " sviluppatore ". Fondamentalmente, in pratica le app per sviluppatori sono piuttosto un " sottogruppo " di " terzo app di ". Come afferma la pagina sviluppatore corrispondente , per semplificare il debug di unapp durante lo sviluppo 3 , è possibile firmarla " in modalità debug ":
Puoi firmare unapp in debug o versione modalità. Firmi la tua app in modalità di debug durante lo sviluppo e in modalità di rilascio quando sei pronto per distribuire la tua app. LSDK Android genera un certificato per firmare le app in modalità di debug. Per firmare le app in modalità di rilascio, è necessario generare il proprio certificato.
[…]
Puoi eseguire ed eseguire il debug di unapp firmata in modalità debug sullemulatore e sui dispositivi collegati alla tua manchine di sviluppo tramite USB, ma non puoi distribuire unapp firmata in modalità debug modalità di debug.
Pertanto le " app per sviluppatori " possono essere informato utilizzando un " certificato di debug " noto. Come afferma la fonte citata, questa opzione non deve essere utilizzata con " app rilasciate " (ad es. Uno sviluppatore non dovrebbe “t pubblicare alcuna app firmata way) 2 .
Ulteriori letture
- Verifica della firma dellapplicazione: come funziona, Come disabilitarlo con Xposed e perché non dovresti
- La vulnerabilità di Android Fake ID consente al malware di impersonare applicazioni affidabili ( descrive un bug sfruttato per aggirare la protezione della firma, consentendo a qualsiasi app di presentarsi come " firmato dal sistema operativo o dal produttore ", che è stato corretto ad es. con Kitkat)
- Meccanismo di firma Android (descrive la differenza tra " Meccanismo di firma ROM " e " Meccanismo di firma APK di terze parti ")
- Firma digitale (informazioni generali su che cosè una firma digitale e come funziona)
1: anche se tecnicamente potrebbe non essere del tutto corretto (esempio: in questo contesto, come si chiamerebbe unapp che hai installato manualmente, quando è stata firmato con la stessa chiave della ROM stessa, ovvero proveniva dal produttore?)
2: Questo è per motivi di sicurezza. Le app potrebbero essere in grado di accedere alle risorse di altre app quando si utilizza la stessa firma, un fatto utilizzato ad esempio da " addons " per app specifiche scritte dallo stesso sviluppatore (come sorgente già denominata , ad es. lo inserisce: Android consente alle app firmate dallo stesso certificato di essere eseguite nello stesso processo, se il le applicazioni lo richiedono, in modo che il sistema le tratti come una singola applicazione. E: Android fornisce lapplicazione delle autorizzazioni basate sulla firma, in modo che unapp possa esporre la funzionalità a unaltra app firmata con un certificato specificato. Firmando più app con lo stesso certificato e utilizzando i controlli delle autorizzazioni basati sulla firma, le tue app possono condividere codice e dati in modo sicuro ). Utilizzando " il tuo " certificato protegge " tua app " dallaccesso di " altro deve lopers “apps ".
3: AFAIK non è possibile installare un " app non firmata ", quindi firmarla è dobbligo. Quando " firmi " unapp, in genere è necessario fornire due password (una per il keystore contenente le tue firme e laltra per la firma si). Utilizzando la " modalità di debug " la firma può essere evitata, poiché utilizza una firma interna dellSDK con una password conosciuta dallo sviluppo utensili. Questo rende il debug molto più semplice, poiché non devi digitare le due password più e più volte durante il " test di compilazione ›compila› test di nuovo ›.. " processo.
Commenti
- : That ' è una buona risposta elaborativa, ma potresti dire che cè bisogno di firmare unapp in modalità di debug .
- Come descritto dalla mia risposta (di nuovo aggiornata): " semplifica il debug di unapp durante lo sviluppo ". ' includerò un piccolo background su questo con " ancora un altro aggiornamento ". Dopodiché, ' ripulisci i nostri commenti (eliminazione quelli resi obsoleti dai miei aggiornamenti alla risposta), va bene?;)
- : Ok, ma potresti dirmi cosa significa veramente la firma di unapp. chi lo ha realmente sviluppato (sia che ' s OS, produttore) o significa qualcosaltro?
- Questo ' sta andando un po in profondità nella parte tecnica. Potresti fare riferimento a Wikipedia per questo. Fondamentalmente, significa chi ha firmato lapp, che di solito è lo sviluppatore.Come con un documento firmato da una firma (scritta a mano), una firma digitale dimostra lautenticità dei dati firmati (qui il
.apk
).