Vilka ' är egentligen ' tredjepartsapplikationer '?

Jag skulle vilja veta vad ”egentligen tredjepartsapplikationer i android. Medan jag hänvisade till Android-utveckling står det att applikationslagret består av:

  1. Native apps
  2. Tredjepartsappar
  3. Utvecklarappar

Jag vet att tredjepartsapplikationer är de som inte utvecklats av den första parten (leverantör av system) som nämnts i tredjepartsapplikationer . Men jag tror att när det gäller android-tredjepartsappar och utvecklarappar är samma är det inte? Kan någon hjälpa mig .

Kommentarer

  • Jag kunde ärligt talat ' inte förstå separationen mellan inbyggda appar, tredje part appar och applikationer (alla dessa är applikationer i min ordlista). Som det citerades från boken (som vi inte kunde ' inte få tillgång om vi inte köper den), förklarar den också skillnaden mellan dessa, eller bara nämner detta? Om det gör det, kan du också citera och lägga till det i frågan?
  • @AndrewT.: Åh förlåt. Det var verkligen Developer Apps inte Applications när jag redigerade det publicerade. Kan du berätta om tredjepartsappar skiljer sig från utvecklarappar. Som svaret från Izzy borde båda vara desamma eftersom båda inte är utvecklade av OS inte heller tillverkaren .
  • Jag antar att i detta sammanhang " utvecklarappar " står för appar som inte är installerade från någon " marknad " – men de du skriver själv och testinstallerar via motsvarande utvecklingsramar. I samband med " signaturer " (se mitt svar nedan): AFAIK dessa appar är signerade med " utvecklingsnycklar ", så de har igen en slags " speciell signatur ". Jag måste undersöka detta djupare för att berätta den exakta skillnaden från en användares ' synvinkel.

Svara

Kortversion

Alla andra appar än " OS- och tillverkarappar " betyder " tredjepartsappar ".

TL; DR

Tredjepartsappar är de som tillhandahålls av en, hrm, tredje part. Även om följande termer inte finns, kan du visualisera detta på följande sätt: Första part är den som tillhandahåller operativsystemet (AOSP / Google), andra part tillverkaren (lägger till sina egna appar).

I grund och botten, detta kan läsas som: Allt som inte kom förinstallerat. Det är vad termen " tredje part " normalt används för 1 .

Teknisk bakgrund

Du hittar teknisk bakgrund i Androids behörighetssystem. Om du bläddrar bland relaterade sidor på Android-utvecklare eller ser mina Appbehörigheter förklaras , för vissa behörigheter du kommer att stöta på frasen " som inte kan användas av appar från tredje part " (eller liknande). Hur bestämmer systemet vad som gör en " tredjepartsapp "? Den tittar på dess signatur och jämför den med OS och tillverkarens signaturer. Om appens signatur inte matchar någon av de två är den " app från tredje part ".

" Utvecklarappar "

I din fråga var fokus att bestämma mellan " tredje part " och " utvecklare " appar. I princip är utvecklarappar i praktiken en " undergrupp " av " tredje fest " appar. Som motsvarande utvecklarsida anger, för att göra felsökning av en app under utveckling enklare 3 , kan den signeras " i felsökningsläge ":

Du kan signera en app i felsökning eller släpp läge. Du signerar din app i felsökningsläge under utveckling och i släppläge när du är redo att distribuera din app. Android SDK genererar ett certifikat för att signera appar i felsökningsläge. För att signera appar i släppläge måste du skapa ditt eget certifikat.

[…]

Du kan köra och felsöka en app som är signerad i felsökningsläge på emulatorn och på enheter som är anslutna till din utvecklingsmanchine via USB, men du kan inte distribuera en inloggad app felsökningsläge.

Således kan " utvecklarappar " få veta genom att använda ett känt " felsökningscertifikat ". Som den citerade källan säger bör detta inte användas med " släppta appar " (t.ex. en utvecklare borde inte publicera någon app som undertecknat detta sätt) 2 .

Ytterligare avläsningar


1: men tekniskt sett är det kanske inte helt korrekt (exempel: i det här sammanhanget, vad skulle en app kallas som du manuellt installerade när den var signerad med samma nyckel som själva ROM-skivan – dvs kommer från tillverkaren?)

2: Detta är av säkerhetsskäl. Appar kan ha tillgång till andra apps resurser när de använder samma signatur – ett faktum som används t.ex. av " tillägg " för specifika skrivna appar av samma utvecklare (som redan namngiven källa t.ex. uttrycker det: Android tillåter att appar som är signerade av samma certifikat kan köras i samma process, om applikationer så begär, så att systemet behandlar dem som en enda applikation. Och: Android tillhandahåller signaturbaserade behörighetsåtgärder, så att en app kan exponera funktionalitet för en annan app som är signerad med ett angivet certifikat. Genom att signera flera appar med samma certifikat och använda signaturbaserade behörighetskontroller kan dina appar dela kod och data på ett säkert sätt ). Använd " din egen " certifikat skyddar " din " app från att nås av " annan utveckling lopers ”apps ".

3: AFAIK kan du inte installera en " osignerad app ", så det är ett måste att underteckna det. När " signerar " en app, behöver man vanligtvis ange två lösenord (ett för nyckellagret som innehåller dina signaturer och ett för signaturen sig). Med " felsökningsläge " signering kan detta undvikas, eftersom detta använder en intern signatur av SDK med ett lösenord som är känt av utvecklingen verktyg. Detta gör felsökning mycket lättare, eftersom du inte behöver skriva de två lösenorden om och om igen under " kompilera ›test› kompilera ›test igen› .. " process.

Kommentarer

  • : Att ' ett bra detaljerat svar. Men kan du säga att det finns något behov av att signera en app i felsökningsläge .
  • Som beskrivs av mitt (återuppdaterade) svar: " underlättar felsökning av en app under utveckling ". Jag ' Jag kommer att ta med en liten bakgrund om det med " ännu en uppdatering ". Låt sedan ' rensa upp våra kommentarer (ta bort de som är föråldrade av mina uppdateringar av svaret), ska vi?;)
  • : Okej. Men kan du berätta för mig vad som egentligen betyder med en apps signatur . betyder det vem som verkligen utvecklade det (oavsett om det ' OS, tillverkare) eller betyder det något annat?
  • Att ' går lite djupt in i den tekniska delen. Du kanske vill hänvisa till Wikipedia för detta. I grund och botten betyder det vem signerade appen, som vanligtvis är utvecklaren.Som med ett papper som signeras av en (handskriven) signatur, visar en digital signatur äktheten hos de signerade data (här .apk).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *