Chtěl bych vědět, jaké jsou skutečně aplikace třetích stran v systému Android. Zatímco jsem měl na mysli vývoj systému Android , říká se, že aplikační vrstva obsahuje:
- Nativní aplikace
- Aplikace třetích stran
- Aplikace pro vývojáře
Vím, že aplikace třetích stran jsou ty, které nejsou vyvíjeny první stranou (poskytovatelem systém), jak je uvedeno v aplikacích třetích stran . Myslím si však, že pokud jde o aplikace Android třetích stran a vývojářské aplikace, není to stejné? Mohl by mi někdo pomoci .
Komentáře
- Upřímně nemohu ' nerozumět oddělení mezi nativními aplikacemi, třetí strany aplikace a aplikace (všechny tyto aplikace jsou v mém slovníku). Jak bylo citováno z knihy (ke které jsme nemohli ' t získat přístup, pokud si ji nezakoupíme), vysvětluje to také rozdíl mezi nimi, nebo jen zmínit toto? Pokud ano, můžete také uvést a přidat k otázce?
- @AndrewT.: Omlouvám se. Bylo to opravdu vývojářské aplikace ne aplikace Jak jsem upravoval zveřejněné příspěvky. Mohl byste říct, zda se aplikace třetích stran liší od aplikací pro vývojáře. Protože odpověď uvedená Izzy by měla být stejná, protože obě nejsou vyvíjeny OS ani výrobce .
- Myslím, že v této souvislosti " vývojářské aplikace " znamená aplikace, které nejsou nainstalovány z žádného " trhu " – ale těch, které si sami napíšete a vyzkoušíte pomocí příslušných vývojových rámců. V kontextu " podpisů " (viz moje odpověď níže): AFAIK jsou tyto aplikace podepsány " vývojové klíče ", takže mají opět jakýsi " speciální podpis ". Musím to prozkoumat hlouběji, abych zjistil přesný rozdíl z pohledu uživatele '.
Odpovědět
Krátká verze
Každá aplikace kromě " OS a výrobce " znamená " aplikace třetích stran ".
TL; DR
Aplikace třetích stran jsou aplikace poskytované třetí stranou od společnosti, hrm. Ačkoli následující podmínky neexistují, můžete si to představit následovně: První strana je ta, která poskytuje OS (AOSP / Google), druhá strana výrobce (přidávání vlastních aplikací).
V zásadě toto lze číst jako: Vše, co nebylo předinstalováno. To je to, co se běžně používá termín " třetí strana " pro 1 .
Technické zázemí
Některé technické znalosti najdete v systému oprávnění systému Android. Pokud procházíte související stránky v Android Developers nebo si přečtěte moje vysvětleno oprávnění aplikace , některé oprávnění narazíte na frázi ", kterou nepoužívají aplikace třetích stran " (nebo podobná). Jak systém rozhodne, co dělá " aplikaci třetí strany "? Podívá se na svůj podpis a porovná to s podpisy OS a výrobců. Pokud podpis aplikace neodpovídá žádnému z těchto dvou, je to " aplikace třetích stran ".
" Vývojářské aplikace "
Ve vaší otázce bylo cílem rozhodnout mezi " třetí stranou " a " vývojářské " aplikace. V podstatě jsou vývojářské aplikace v podstatě " podskupinou " z " třetí party " aplikace. Jak uvádí odpovídající stránka vývojáře , lze ladění aplikace během vývoje 3 usnadnit podepsáním " v režimu ladění ":
Aplikaci můžete podepsat při ladění nebo vydání režimu. Svou aplikaci podepíšete v režimu ladění během vývoje a v režimu vydání, když jste připraveni ji distribuovat. Sada Android SDK generuje certifikát k podepisování aplikací v režimu ladění. Chcete-li podepisovat aplikace v režimu vydání, musíte vygenerovat vlastní certifikát.
[…]
Aplikaci přihlášenou v režimu ladění můžete spouštět a ladit na emulátoru a na zařízeních připojených k vašemu vývojovému manchine přes USB, ale nemůžete distribuovat aplikaci přihlášenou režim ladění.
Takto " vývojářské aplikace " mohou být informován pomocí známého " ladicího certifikátu ". Jak uvádí citovaný zdroj, toto by se nemělo používat s " vydanými aplikacemi " (např. Vývojář by neměl publikovat žádnou podepsanou aplikaci way) 2 .
Další čtení
- Ověření podpisu aplikace: Jak to funguje, Jak to zakázat pomocí Xposed a proč byste neměli
- Chyba zabezpečení Fake ID systému Android umožňuje, aby malware napodoboval důvěryhodné aplikace ( popisuje chybu využívanou k obcházení ochrany podpisu, která umožňuje jakékoli aplikaci vystupovat jako " podepsaná OS nebo výrobcem ", která byla opravena např. s Kitkat)
- Android podpisový mechanismus (popisuje rozdíl mezi " ROM podpisový mechanismus " a " Mechanismus podpisu APK třetí strany ")
- Digitální podpis (obecné pozadí toho, co je digitální podpis a jak funguje)
1: ačkoli to technicky nemusí být úplně správné (příklad: v této souvislosti, jak by se volala aplikace, kterou jste ručně nainstalovali, když byla podepsán stejným klíčem jako samotná ROM – tj. pochází od výrobce?)
2: Toto je z bezpečnostních důvodů. Aplikace mohou mít přístup ke zdrojům jiných aplikací při použití stejného podpisu – skutečnost, kterou používají např. " addons " pro konkrétní napsané aplikace od stejného vývojáře (jako již pojmenovaný zdroj , například: Android umožňuje aplikacím podepsaným stejným certifikátem spouštět stejný proces, pokud aplikace tak požaduje, aby s nimi systém zacházel jako s jednou aplikací. A: Android poskytuje vynucení oprávnění na základě podpisu, takže aplikace může vystavit funkčnost jiné aplikaci, která je podepsána zadaným certifikátem. Podepsáním více aplikací se stejným certifikátem a pomocí kontrol oprávnění založených na podpisu mohou vaše aplikace bezpečně sdílet kód a data ). Pomocí " vlastního " certifikát chrání " vaši " aplikaci před přístupem " další deve lopers „apps ".
3: AFAIK nemůžete nainstalovat " nepodepsanou aplikaci ", takže je nutné ji podepsat. Při " podepisování " aplikace je obvykle nutné zadat dvě hesla (jedno pro úložiště klíčů s vašimi podpisy a jedno pro podpis sám). Pomocí " režimu ladění " podepisování se tomu lze vyhnout, protože se používá interní podpis SDK s heslem známým vývojářem nástroje. Díky tomu je ladění mnohem jednodušší, protože během " kompilace ›test› kompilace ›znovu testovat nemusíte tato hesla zadávat znovu .. .. " proces.
Komentáře
- : To ' je dobrá podrobná odpověď. Mohl byste ale říct, že je potřeba podepisovat aplikaci v režimu ladění .
- Jak je popsáno v mé (znovu aktualizované) odpovědi: " usnadní ladění aplikace během vývoje ". <
k tomu přidám malé pozadí s " další aktualizace ". Poté nechejte ' s vyčistit naše komentáře (mazání ty zastaralé mými aktualizacemi odpovědi), že?;)
.apk
).