Ik zou graag willen weten wat “echt toepassingen van derden in android. Terwijl ik verwees naar Android-ontwikkeling , zegt het dat de applicatielaag bestaat uit:
- Native apps
- Apps van derden
- Apps voor ontwikkelaars
Ik weet dat toepassingen van derden niet zijn ontwikkeld door de eerste partij (aanbieder van systeem) zoals vermeld in applicaties van derden . Maar ik denk dat als het gaat om Android-apps van derden en ontwikkelaarsapps hetzelfde zijn, toch? Kan iemand me helpen .
Reacties
- Ik kon eerlijk gezegd niet ‘ de scheiding tussen native apps, 3rd-party apps en applicaties (dit zijn allemaal applicaties in mijn woordenboek). Zoals het werd geciteerd uit het boek (dat we niet ‘ toegang konden krijgen tenzij we het kopen), verklaart het dan ook het verschil tussen deze, of vermeldt het alleen dit? Als dat het geval is, zou u het dan ook kunnen citeren en aan de vraag toevoegen?
- @AndrewT.: Oh sorry, het waren echt Developer Apps en niet Applications zoals ik het gepost heb bewerkt. Kunt u zeggen of apps van derden verschillen van apps voor ontwikkelaars. Zoals het antwoord van Izzy geeft, zouden beide hetzelfde moeten zijn omdat beide niet zijn ontwikkeld door het OS noch de fabrikant .
- Ik denk dat in deze context ” apps voor ontwikkelaars ” staat voor apps die niet zijn geïnstalleerd vanaf een ” markt ” – maar die u zelf schrijft en test-installeert via de overeenkomstige ontwikkelingsframeworks. In de context van ” handtekeningen ” (zie mijn antwoord hieronder): AFAIK zijn die apps ondertekend met ” ontwikkelingssleutels “, dus ze hebben weer een soort ” speciale handtekening “. Ik moet hier echter dieper op in gaan om het exacte verschil te zien met het standpunt van een gebruiker ‘ s.
Antwoord
Korte versie
Elke app behalve ” OS- en fabrikant-apps ” betekent ” apps van derden “.
TL; DR
Apps van derden zijn apps die worden geleverd door een, hrm, derde partij. Hoewel de volgende termen niet bestaan, kunt u dit als volgt visualiseren: de eerste partij is degene die het besturingssysteem levert (AOSP / Google), de tweede partij de fabrikant (die zijn eigen apps toevoegt).
Kortom, dit kan worden gelezen als: Alles dat “niet vooraf geïnstalleerd was. Dit is wat de term ” derde partij ” normaal gesproken wordt gebruikt voor 1 .
Technische achtergrond
U vindt enige technische achtergrond in het toestemmingssysteem van Android. Als u door de gerelateerde paginas op Android-ontwikkelaars bladert of mijn App-machtigingen uitlegt , voor sommigen machtigingen zul je de zin ” tegenkomen die niet wordt gebruikt door apps van derden ” (of vergelijkbaar). Hoe bepaalt het systeem wat een ” app van derden ” maakt? Het kijkt naar de handtekening en vergelijkt die met de handtekeningen van het besturingssysteem en de fabrikant. Als de handtekening van de app niet overeenkomt met een van de twee, is dit een ” app van derden “.
” Ontwikkelaarsapps ”
In uw vraag lag de nadruk op het kiezen tussen ” derde partij ” en ” ontwikkelaar ” apps. In feite zijn ontwikkelaars-apps in de praktijk eerder een ” subgroep ” van ” derde party ” apps. Zoals de corresponderende ontwikkelaarspagina aangeeft, kan het worden ondertekend met iv id = “611c91a226 om het debuggen van een app tijdens de ontwikkeling gemakkelijker te maken 3 “>
in foutopsporingsmodus “:
U kunt een app ondertekenen in foutopsporing of release modus. U ondertekent uw app in de foutopsporingsmodus tijdens de ontwikkeling en in de releasemodus wanneer u klaar bent om uw app te distribueren. De Android SDK genereert een certificaat om apps in de foutopsporingsmodus te ondertekenen. Om apps in de releasemodus te ondertekenen, moet u uw eigen certificaat genereren.
[…]
U kunt een app die in de foutopsporingsmodus is ondertekend, uitvoeren en debuggen op de emulator en op apparaten die via USB met uw ontwikkelingsmanchine zijn verbonden, maar u kunt een aangemelde app niet distribueren foutopsporingsmodus.
Dus ” ontwikkelaar-apps ” kunnen worden verteld door een bekend ” debug-certificaat ” te gebruiken. Zoals de geciteerde bron aangeeft, mag dit niet worden gebruikt met ” vrijgegeven apps ” (een ontwikkelaar mag bijvoorbeeld geen app publiceren waarvoor way) 2 .
Verdere lezingen
- Verificatie van applicatiehandtekening: hoe het werkt, Hoe u het kunt uitschakelen met Xposed en waarom u dit niet zou moeten doen
- Kwetsbaarheid van nep-ID van Android laat malware zich voordoen als vertrouwde applicaties ( beschrijft een bug die wordt misbruikt om handtekeningbescherming te omzeilen, waardoor elke app zich kan voordoen als ” ondertekend door besturingssysteem of fabrikant “, wat bijvoorbeeld is opgelost with Kitkat)
- Android-handtekeningmechanisme (beschrijft het verschil tussen ” ROM-handtekeningmechanisme ” en ” APK-handtekeningmechanisme van derden “)
- Digitale handtekening (algemene achtergrond van wat een digitale handtekening is en hoe deze werkt)
1: hoewel het technisch gezien misschien niet helemaal correct is (voorbeeld: hoe heet in deze context een app die je handmatig hebt geïnstalleerd, ondertekend met dezelfde sleutel als de ROM zelf – dus afkomstig van de fabrikant?)
2: Dit is om veiligheidsredenen. Apps kunnen mogelijk toegang krijgen tot de bronnen van andere apps wanneer ze dezelfde handtekening gebruiken – een feit dat bijvoorbeeld wordt gebruikt door ” add-ons ” voor specifieke apps die zijn geschreven door dezelfde ontwikkelaar (als de reeds genoemde bron zegt het bijvoorbeeld: Android staat toe dat apps die met hetzelfde certificaat zijn ondertekend, in hetzelfde proces worden uitgevoerd, als de applicaties daarom verzoeken, zodat het systeem ze als een enkele applicatie behandelt. En: Android biedt op handtekeningen gebaseerde machtigingen afdwingen, zodat een app functionaliteit kan tonen aan een andere app die is ondertekend met een gespecificeerd certificaat. Door meerdere apps met hetzelfde certificaat te ondertekenen en op handtekeningen gebaseerde machtigingscontroles te gebruiken, kunnen uw apps code en gegevens op een veilige manier delen ). Met ” uw eigen ” certificaat beschermt ” uw ” app tegen toegang door ” andere ontwikk lopers “apps “.
3: AFAIK u kunt geen ” niet-ondertekende app ” installeren, dus ondertekenen is een must. Wanneer een app ” ” ondertekent, moet men gewoonlijk twee wachtwoorden opgeven (een voor de keystore met uw handtekeningen en een voor de handtekening zelf). Door ” foutopsporingsmodus ” ondertekening te gebruiken, kan dit worden vermeden, aangezien hiervoor een interne handtekening van de SDK wordt gebruikt met een wachtwoord dat bekend is bij de ontwikkeling gereedschap. Dit maakt debuggen een stuk eenvoudiger, aangezien je de twee wachtwoorden niet steeds opnieuw hoeft in te typen tijdens het ” compileren ›test› compileren ›test opnieuw› .. ” proces.
Reacties
- : Dat ‘ is een goed uitgebreid antwoord, maar kun je zien of het nodig is om een app te ondertekenen in de foutopsporingsmodus .
- Zoals beschreven door mijn (opnieuw bijgewerkte) antwoord: ” maken het opsporen van fouten in een app tijdens de ontwikkeling gemakkelijker “. Ik ‘ zal daar wat achtergrondinformatie over geven met ” nog een update “. Laat ‘ s onze opmerkingen opschonen (verwijderen die verouderd zijn door mijn updates van het antwoord), zullen we?;)
- : Oké, maar kun je me vertellen wat echt wordt bedoeld met de handtekening van een app. wie het echt heeft ontwikkeld (of het nu ‘ s OS, fabrikant) of betekent het iets anders?
- Dat ‘ gaat een beetje diep in het technische gedeelte. U kunt hiervoor Wikipedia raadplegen. In feite betekent het wie de app heeft ondertekend , wat meestal de ontwikkelaar is.Net als bij een papier dat wordt ondertekend met een (handgeschreven) handtekening, toont een digitale handtekening de authenticiteit van de ondertekende gegevens aan (hier de
.apk
).